// source --> //www.pixopa.com/wp-content/themes/pixopa-new/framework/js/jquery.easing.min.js?ver=5.4.1 /* * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ * * Uses the built in easing capabilities added In jQuery 1.1 * to offer multiple easing options * * TERMS OF USE - jQuery Easing * * Open source under the BSD License. * * Copyright å© 2008 George McGinley Smith * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. * * Neither the name of the author nor the names of contributors may be used to endorse * or promote products derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. * */ jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){return -h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f+a}return -h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){return -h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+a}return -h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){return -h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){return -h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){return -h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){if((f/=g/2)<1){return -h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g //www.pixopa.com/wp-content/themes/pixopa-new/framework/js/jquery.magnific-popup.js?ver=1.1.0 /*! Magnific Popup - v1.1.0 - 2016-02-20 * http://dimsemenov.com/plugins/magnific-popup/ * Copyright (c) 2016 Dmitry Semenov; */ !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h="Close",i="BeforeClose",j="AfterClose",k="BeforeAppend",l="MarkupParse",m="Open",n="Change",o="mfp",p="."+o,q="mfp-ready",r="mfp-removing",s="mfp-prevent-close",t=function(){},u=!!window.jQuery,v=a(window),w=function(a,c){b.ev.on(o+a+p,c)},x=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},y=function(c,d){b.ev.triggerHandler(o+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},z=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},A=function(){a.magnificPopup.instance||(b=new t,b.init(),a.magnificPopup.instance=b)},B=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};t.prototype={constructor:t,init:function(){var c=navigator.appVersion;b.isLowIE=b.isIE8=document.all&&!document.addEventListener,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=B(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(c.isObj===!1){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e(a||v.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).focus()},_onFocusIn:function(c){return c.target===b.wrap[0]||a.contains(b.wrap[0],c.target)?void 0:(b._setFocus(),!1)},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),y(l,[b,c,d]),a.each(c,function(c,d){if(void 0===d||d===!1)return!0;if(e=c.split("_"),e.length>1){var f=b.find(p+"-"+e[0]);if(f.length>0){var g=e[1];"replaceWith"===g?f[0]!==d[0]&&f.replaceWith(d):"img"===g?f.is("img")?f.attr("src",d):f.replaceWith(a("").attr("src",d).attr("class",f.attr("class"))):f.attr(e[1],d)}}else b.find(p+"-"+c).html(d)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement("div");a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:t.prototype,modules:[],open:function(b,c){return A(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}},a.fn.magnificPopup=function(c){A();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=u?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),u?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var C,D,E,F="inline",G=function(){E&&(D.after(E.addClass(C)).detach(),E=null)};a.magnificPopup.registerModule(F,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push(F),w(h+"."+F,function(){G()})},getInline:function(c,d){if(G(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(D||(C=e.hiddenClass,D=x(C),C="mfp-"+C),E=f.after(D).detach().removeClass(C)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("
");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var H,I="ajax",J=function(){H&&a(document.body).removeClass(H)},K=function(){J(),b.req&&b.req.abort()};a.magnificPopup.registerModule(I,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'The content could not be loaded.'},proto:{initAjax:function(){b.types.push(I),H=b.st.ajax.cursor,w(h+"."+I,K),w("BeforeChange."+I,K)},getAjax:function(c){H&&a(document.body).addClass(H),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};y("ParseAjax",g),b.appendContent(a(g.data),I),c.finished=!0,J(),b._setFocus(),setTimeout(function(){b.wrap.addClass(q)},16),b.updateStatus("ready"),y("AjaxContentAdded")},error:function(){J(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var L,M=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'
',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'The image could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),w(m+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),w(h+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),v.off("resize"+p)}),w("Resize"+d,b.resizeImage),b.isLowIE&&w("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){L&&clearInterval(L),L=setInterval(function(){return d.naturalWidth>0?void b._onImageHasSize(a):(c>200&&clearInterval(L),c++,void(3===c?e(10):40===c?e(50):100===c&&e(500)))},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,y("ImageLoadComplete")):(e++,200>e?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:M(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(L&&clearInterval(L),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var N,O=function(){return void 0===N&&(N=void 0!==document.createElement("p").style.MozTransform),N};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,j=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},k=function(){b.content.css("visibility","visible")};w("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),a=b._getItemToZoom(),!a)return void k();f=j(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){k(),setTimeout(function(){f.remove(),a=f=null,y("ZoomAnimationEnded")},16)},g)},16)}}),w(i+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(a=b._getItemToZoom(),!a)return;f=j(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),w(h+d,function(){b._allowZoom()&&(k(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return b.currItem.hasSize?b.currItem.img:!1},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(u?d.innerHeight():d[0].offsetHeight)-g-f};return O()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var P="iframe",Q="//about:blank",R=function(a){if(b.currTemplate[P]){var c=b.currTemplate[P].find("iframe");c.length&&(a||(c[0].src=Q),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule(P,{options:{markup:'
',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery";return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s);e.click(function(){b.prev()}),f.click(function(){b.next()}),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),A()}); // source --> //www.pixopa.com/wp-content/themes/pixopa-new/framework/js/jquery.simpleplaceholder.js?ver=5.4.1 /* * Simple Placeholder by @marcgg under MIT License * Report bugs or contribute on Gihub: https://github.com/marcgg/Simple-Placeholder */ (function(e){e.simplePlaceholder={placeholderClass:null,hidePlaceholder:function(){var t=e(this);if(t.val()==t.attr("placeholder")&&t.data(e.simplePlaceholder.placeholderData)){t.val("").removeClass(e.simplePlaceholder.placeholderClass).data(e.simplePlaceholder.placeholderData,false)}},showPlaceholder:function(){var t=e(this);if(t.val()==""){t.val(t.attr("placeholder")).addClass(e.simplePlaceholder.placeholderClass).data(e.simplePlaceholder.placeholderData,true)}},preventPlaceholderSubmit:function(){e(this).find(".simple-placeholder").each(function(t){var n=e(this);if(n.val()==n.attr("placeholder")&&n.data(e.simplePlaceholder.placeholderData)){n.val("")}});return true}};e.fn.simplePlaceholder=function(t){if(document.createElement("input").placeholder==undefined){var n={placeholderClass:"placeholding",placeholderData:"simplePlaceholder.placeholding"};if(t)e.extend(n,t);e.extend(e.simplePlaceholder,n);this.each(function(){var t=e(this);t.focus(e.simplePlaceholder.hidePlaceholder);t.blur(e.simplePlaceholder.showPlaceholder);t.data(e.simplePlaceholder.placeholderData,false);if(t.val()==""){t.val(t.attr("placeholder"));t.addClass(e.simplePlaceholder.placeholderClass);t.data(e.simplePlaceholder.placeholderData,true)}t.addClass("simple-placeholder");e(this.form).submit(e.simplePlaceholder.preventPlaceholderSubmit)})}return this}})(jQuery); // source --> //www.pixopa.com/wp-content/themes/pixopa-new/framework/js/imagesloaded.js?ver=5.4.1 /*! * imagesLoaded PACKAGED v3.1.4 * JavaScript is all like "You images are done yet or what?" * MIT License */ (function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var i=e.prototype,r=this,o=r.EventEmitter;i.getListeners=function(e){var t,n,i=this._getEvents();if("object"==typeof e){t={};for(n in i)i.hasOwnProperty(n)&&e.test(n)&&(t[n]=i[n])}else t=i[e]||(i[e]=[]);return t},i.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},i.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},i.addListener=function(e,n){var i,r=this.getListenersAsObject(e),o="object"==typeof n;for(i in r)r.hasOwnProperty(i)&&-1===t(r[i],n)&&r[i].push(o?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(e){return this.getListeners(e),this},i.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},i.removeListener=function(e,n){var i,r,o=this.getListenersAsObject(e);for(r in o)o.hasOwnProperty(r)&&(i=t(o[r],n),-1!==i&&o[r].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},i.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},i.manipulateListeners=function(e,t,n){var i,r,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(i=n.length;i--;)o.call(this,t,n[i]);else for(i in t)t.hasOwnProperty(i)&&(r=t[i])&&("function"==typeof r?o.call(this,i,r):s.call(this,i,r));return this},i.removeEvent=function(e){var t,n=typeof e,i=this._getEvents();if("string"===n)delete i[e];else if("object"===n)for(t in i)i.hasOwnProperty(t)&&e.test(t)&&delete i[t];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(e,t){var n,i,r,o,s=this.getListenersAsObject(e);for(r in s)if(s.hasOwnProperty(r))for(i=s[r].length;i--;)n=s[r][i],n.once===!0&&this.removeListener(e,n.listener),o=n.listener.apply(this,t||[]),o===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},i.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return r.EventEmitter=o,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}).call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(i=function(e,n,i){e[n+i]=i.handleEvent?function(){var n=t(e);i.handleEvent.call(i,n)}:function(){var n=t(e);i.call(e,n)},e.attachEvent("on"+n,e[n+i])});var r=function(){};n.removeEventListener?r=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(r=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(i){e[t+n]=void 0}});var o={bind:i,unbind:r};"function"==typeof define&&define.amd?define("eventie/eventie",o):e.eventie=o}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,i){return t(e,n,i)}):"object"==typeof exports?module.exports=t(e,require("eventEmitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(this,function(e,t,n){function i(e,t){for(var n in t)e[n]=t[n];return e}function r(e){return"[object Array]"===d.call(e)}function o(e){var t=[];if(r(e))t=e;else if("number"==typeof e.length)for(var n=0,i=e.length;i>n;n++)t.push(e[n]);else t.push(e);return t}function s(e,t,n){if(!(this instanceof s))return new s(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=o(e),this.options=i({},this.options),"function"==typeof t?n=t:i(this.options,t),n&&this.on("always",n),this.getImages(),a&&(this.jqDeferred=new a.Deferred);var r=this;setTimeout(function(){r.check()})}function c(e){this.img=e}function f(e){this.src=e,v[e]=this}var a=e.jQuery,u=e.console,h=u!==void 0,d=Object.prototype.toString;s.prototype=new t,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);for(var i=n.querySelectorAll("img"),r=0,o=i.length;o>r;r++){var s=i[r];this.addImage(s)}}},s.prototype.addImage=function(e){var t=new c(e);this.images.push(t)},s.prototype.check=function(){function e(e,r){return t.options.debug&&h&&u.log("confirm",e,r),t.progress(e),n++,n===i&&t.complete(),!0}var t=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return this.complete(),void 0;for(var r=0;i>r;r++){var o=this.images[r];o.on("confirm",e),o.check()}},s.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,e)})},s.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},a&&(a.fn.imagesLoaded=function(e,t){var n=new s(this,e,t);return n.jqDeferred.promise(a(this))}),c.prototype=new t,c.prototype.check=function(){var e=v[this.img.src]||new f(this.img.src);if(e.isConfirmed)return this.confirm(e.isLoaded,"cached was confirmed"),void 0;if(this.img.complete&&void 0!==this.img.naturalWidth)return this.confirm(0!==this.img.naturalWidth,"naturalWidth"),void 0;var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},c.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var v={};return f.prototype=new t,f.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},f.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},f.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},f.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},f.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},f.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},s}); // source --> //www.pixopa.com/wp-content/themes/pixopa-new/framework/js/us.core.js?ver=3.1 /** * UpSolution Theme Core JavaScript Code * * @requires jQuery */ if (window.$us === undefined) window.$us = {}; /** * Retrieve/set/erase dom modificator class _ for UpSolution CSS Framework * @param {String} mod Modificator namespace * @param {String} [value] Value * @returns {string|jQuery} */ jQuery.fn.usMod = function(mod, value){ if (this.length == 0) return this; // Remove class modificator if (value === false) { this.get(0).className = this.get(0).className.replace(new RegExp('(^| )' + mod + '\_[a-z0-9]+( |$)'), '$2'); return this; } var pcre = new RegExp('^.*?' + mod + '\_([a-z0-9]+).*?$'), arr; // Retrieve modificator if (value === undefined) { return (arr = pcre.exec(this.get(0).className)) ? arr[1] : false; } // Set modificator else { this.usMod(mod, false).get(0).className += ' ' + mod + '_' + value; return this; } }; /** * Convert data from PHP to boolean the right way * @param {mixed} value * @returns {Boolean} */ $us.toBool = function(value){ if (typeof value == 'string') return (value == 'true' || value == 'True' || value == 'TRUE' || value == '1'); if (typeof value == 'boolean') return value; return !!parseInt(value); }; // Fixing hovers for devices with both mouse and touch screen jQuery.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); jQuery('html').toggleClass('no-touch', !jQuery.isMobile); /** * Commonly used jQuery objects */ !function($){ $us.$window = $(window); $us.$document = $(document); $us.$html = $('html'); $us.$body = $('.l-body:first'); $us.$htmlBody = $us.$html.add($us.$body); $us.$canvas = $('.l-canvas:first'); }(jQuery); /** * $us.canvas * * All the needed data and functions to work with overall canvas. */ !function($){ "use strict"; function USCanvas(options){ // Setting options var defaults = { disableEffectsWidth: 900, responsive: true }; this.options = $.extend({}, defaults, options || {}); // Commonly used dom elements this.$header = $us.$canvas.find('.l-header'); this.$main = $us.$canvas.find('.l-main'); this.$titlebar = $us.$canvas.find('.l-titlebar'); this.$sections = $us.$canvas.find('.l-section'); this.$firstSection = this.$sections.first(); this.$fullscreenSections = this.$sections.filter('.height_full'); this.$topLink = $('.w-toplink'); // Canvas modificators this.sidebar = $us.$canvas.usMod('sidebar'); this.type = $us.$canvas.usMod('type'); // Initial header position this._headerPos = this.$header.usMod('pos'); // Current header position this.headerPos = this._headerPos; this.headerBg = this.$header.usMod('bg'); this.rtl = $us.$body.hasClass('rtl'); // Will be used to count fullscreen sections heights and proper scroll positions this.scrolledOccupiedHeight = 0; // Boundable events this._events = { scroll: this.scroll.bind(this), resize: this.resize.bind(this) }; $us.$window.on('scroll', this._events.scroll); $us.$window.on('resize load', this._events.resize); // Complex logics requires two initial renders: before inner elements render and after setTimeout(this._events.resize, 25); setTimeout(this._events.resize, 75); } USCanvas.prototype = { /** * Scroll-driven logics */ scroll: function(){ var scrollTop = parseInt($us.$window.scrollTop()); // Show/hide go to top link this.$topLink.toggleClass('active', (scrollTop >= this.winHeight)); }, /** * Resize-driven logics */ resize: function(){ // Window dimensions this.winHeight = parseInt($us.$window.height()); this.winWidth = parseInt($us.$window.width()); // Disabling animation on mobile devices $us.$body.toggleClass('disable_effects', (this.winWidth <= this.options.disableEffectsWidth)); // Updating fullscreen sections if (this.$fullscreenSections.length > 0) { this.$fullscreenSections.each(function(index, section){ var $section = $(section), sectionHeight = this.winHeight, isFirstSection = (index == 0 && this.$titlebar.length == 0 && $section.is(this.$firstSection)); // First section if (isFirstSection) { sectionHeight -= $section.offset().top; } // 2+ sections else { sectionHeight -= $us.header.scrolledOccupiedHeight; } $section.css('min-height', sectionHeight); if ($section.hasClass('valign_center')) { var $sectionH = $section.find('.l-section-h'), sectionTopPadding = parseInt($section.css('padding-top')), contentHeight = $sectionH.outerHeight(), topMargin; $sectionH.css('margin-top', ''); // Section was extended by extra top padding that is overlapped by fixed solid header and not visible var sectionOverlapped = isFirstSection && $us.header.pos == 'fixed' && $us.header.bg != 'transparent' && $us.header.orientation != 'ver'; if (sectionOverlapped) { // Part of first section is overlapped by header topMargin = Math.max(0, (sectionHeight - sectionTopPadding - contentHeight) / 2); } else { topMargin = Math.max(0, (sectionHeight - contentHeight) / 2 - sectionTopPadding); } $sectionH.css('margin-top', topMargin || ''); } $section.find('.upb_row_bg').css('min-height', $section.height()); }.bind(this)); $us.$canvas.trigger('contentChange'); } // Fix scroll glitches that could occur after the resize this.scroll(); } }; $us.canvas = new USCanvas($us.canvasOptions || {}); }(jQuery); /** * $us.header * Dev note: should be initialized after $us.canvas */ !function($){ "use strict"; function USHeader(settings){ this.settings = settings || {}; this.state = 'default'; // 'tablets' / 'mobiles' this.$container = $us.$canvas.find('.l-header'); this.$topCell = this.$container.find('.l-subheader.at_top .l-subheader-cell:first'); this.$middleCell = this.$container.find('.l-subheader.at_middle .l-subheader-cell:first'); this.$bottomCell = this.$container.find('.l-subheader.at_bottom .l-subheader-cell:first'); this.$showBtn = $('.w-header-show:first'); this.orientation = $us.$body.usMod('header'); this.pos = this.$container.usMod('pos'); // 'fixed' / 'static' this.bg = this.$container.usMod('bg'); // 'solid' / 'transparent' // Will be used to count fullscreen sections heights and proper scroll positions this.scrolledOccupiedHeight = 0; this._events = { scroll: this.scroll.bind(this), resize: this.resize.bind(this), contentChange: function(){ this._countScrollable(); }.bind(this), hideMobileVerticalHeader: function(e){ if ($.contains(this.$container[0], e.target)) return; $us.$body .off($.isMobile ? 'touchstart' : 'click', this._events.hideMobileVerticalHeader) .removeClass('header-show'); }.bind(this) }; this.$elms = {}; this.$places = { hidden: this.$container.find('.l-subheader.for_hidden') }; this.$container.find('.l-subheader-cell').each(function(index, cell){ var $cell = $(cell); this.$places[$cell.parent().parent().usMod('at') + '_' + $cell.usMod('at')] = $cell; }.bind(this)); var regexp = /(^| )ush_([a-z_]+)_([0-9]+)( |$)/; this.$container.find('[class*=ush_]').each(function(index, elm){ var $elm = $(elm), matches = regexp.exec($elm.attr('class')); if (!matches) return; var id = matches[2] + ':' + matches[3]; this.$elms[id] = $elm; if ($elm.is('.w-vwrapper, .w-hwrapper')) { this.$places[id] = $elm; } }.bind(this)); // TODO Objects with the header elements $us.$window.on('scroll', this._events.scroll); $us.$window.on('resize load', this._events.resize); this.resize(); $us.$canvas.on('contentChange', function(){ if (this.orientation == 'ver') this.docHeight = $us.$document.height(); }.bind(this)); this.$container.on('contentChange', this._events.contentChange); this.$showBtn.on('click', function(e){ if ($us.$body.hasClass('header-show')) return; e.stopPropagation(); $us.$body .addClass('header-show') .on($.isMobile ? 'touchstart' : 'click', this._events.hideMobileVerticalHeader); }.bind(this)); } $.extend(USHeader.prototype, { scroll: function(){ var scrollTop = parseInt($us.$window.scrollTop()); if (this.pos == 'fixed') { if (this.orientation == 'hor') { this.$container.toggleClass('sticky', scrollTop >= (this.settings[this.state].options.scroll_breakpoint || 100)); } else if (this.$container.hasClass('scrollable') && this.docHeight > this.headerHeight + this.htmlTopMargin) { var scrollRangeDiff = this.headerHeight - $us.canvas.winHeight + this.htmlTopMargin; if (this._sidedHeaderScrollRange === undefined) { this._sidedHeaderScrollRange = [0, scrollRangeDiff]; } if (scrollTop <= this._sidedHeaderScrollRange[0]) { this._sidedHeaderScrollRange[0] = Math.max(0, scrollTop); this._sidedHeaderScrollRange[1] = this._sidedHeaderScrollRange[0] + scrollRangeDiff; this.$container.css({ position: 'fixed', top: this.htmlTopMargin }); } else if (this._sidedHeaderScrollRange[0] < scrollTop && scrollTop < this._sidedHeaderScrollRange[1]) { this.$container.css({ position: 'absolute', top: this._sidedHeaderScrollRange[0] }); } else if (this._sidedHeaderScrollRange[1] <= scrollTop) { this._sidedHeaderScrollRange[1] = Math.min(this.docHeight - $us.canvas.winHeight, scrollTop); this._sidedHeaderScrollRange[0] = this._sidedHeaderScrollRange[1] - scrollRangeDiff; this.$container.css({ position: 'fixed', top: $us.canvas.winHeight - this.headerHeight }); } } } }, resize: function(){ var newState = 'default'; if (window.innerWidth <= 900) newState = (window.innerWidth <= 600) ? 'mobiles' : 'tablets'; this.setState(newState); if (this.pos == 'fixed' && this.orientation == 'hor') { var isSticky = this.$container.hasClass('sticky'); this.$container.addClass('notransition'); if (!isSticky) this.$container.addClass('sticky'); this.scrolledOccupiedHeight = this.$container.height(); if (!isSticky) this.$container.removeClass('sticky'); // Removing with a small delay to prevent css glitch setTimeout(function(){ this.$container.removeClass('notransition'); }.bind(this), 50); } else /*if (this.orientation == 'ver' || this.pos == 'static')*/ { this.scrolledOccupiedHeight = 0; } this._countScrollable(); this.scroll(); }, setState: function(newState){ if (newState == this.state) return; var newOrientation = this.settings[newState].options.orientation || 'hor', newPos = $us.toBool(this.settings[newState].options.sticky) ? 'fixed' : 'static', newBg = $us.toBool(this.settings[newState].options.transparent) ? 'transparent' : 'solid'; if (newOrientation == 'ver') { newPos = 'fixed'; newBg = 'solid'; } this.state = newState; // Don't change the order: orientation -> pos -> bg -> layout this._setOrientation(newOrientation); this._setPos(newPos); this._setBg(newBg); this._setLayout(this.settings[newState].layout || {}); $us.$body.usMod('state', newState); if (newState == 'default') $us.$body.removeClass('header-show'); // Updating the main menu because of dependencies if ($us.nav !== undefined) $us.nav.resize(); }, _setOrientation: function(newOrientation){ if (newOrientation == this.orientation) return; $us.$body.usMod('header', newOrientation); this.orientation = newOrientation; }, _countScrollable: function(){ if (this.orientation == 'ver' && this.pos == 'fixed' && this.state == 'default') { this.docHeight = $us.$document.height(); this.htmlTopMargin = parseInt($us.$html.css('margin-top')); this.headerHeight = this.$topCell.height() + this.$middleCell.height() + this.$bottomCell.height(); if (this.headerHeight > $us.canvas.winHeight - this.htmlTopMargin) { this.$container.addClass('scrollable'); } else if (this.$container.hasClass('scrollable')) { this.$container.removeClass('scrollable').resetInlineCSS('position', 'top', 'bottom'); delete this._sidedHeaderScrollRange; } if (this.headerHeight + this.htmlTopMargin >= this.docHeight) { this.$container.css({ position: 'absolute', top: 0 }); } } else if (this.$container.hasClass('scrollable')) { this.$container.removeClass('scrollable').resetInlineCSS('position', 'top', 'bottom'); delete this._sidedHeaderScrollRange; } }, _setPos: function(newPos){ if (newPos == this.pos) return; this.$container.usMod('pos', newPos); if (newPos == 'static') { this.$container.removeClass('sticky'); } this.pos = newPos; this._countScrollable(); }, _setBg: function(newBg){ if (newBg == this.bg) return; this.$container.usMod('bg', newBg); this.bg = newBg; }, /** * Recursive function to place elements based on their ids * @param {Array} elms * @param {jQuery} $place * @private */ _placeElements: function(elms, $place){ for (var i = 0; i < elms.length; i++) { var elmId; if (typeof elms[i] == 'object') { // Wrapper elmId = elms[i][0]; if (this.$places[elmId] === undefined || this.$elms[elmId] === undefined) continue; this.$elms[elmId].appendTo($place); this._placeElements(elms[i].shift(), this.$places[elmId]); } else { // Element elmId = elms[i]; if (this.$elms[elmId] === undefined) continue; this.$elms[elmId].appendTo($place); } } }, _setLayout: function(newLayout){ // Retrieving the currently shown layout structure var curLayout = {}; $.each(this.$places, function(place, $place){ }.bind(this)); for (var place in newLayout) { if (!newLayout.hasOwnProperty(place) || this.$places[place] === undefined) continue; this._placeElements(newLayout[place], this.$places[place]); } } }); $us.header = new USHeader($us.headerSettings || {}); }(jQuery); /** * $us.nav * * Header navigation will all the possible states * * @requires $us.canvas */ !function($){ function USNav(){ // Commonly used dom elements this.$nav = $('.l-header .w-nav:first'); if (this.$nav.length == 0) return; this.$control = this.$nav.find('.w-nav-control'); this.$items = this.$nav.find('.w-nav-item'); this.$list = this.$nav.find('.w-nav-list.level_1'); this.$subItems = this.$list.find('.w-nav-item.menu-item-has-children'); this.$subAnchors = this.$list.find('.w-nav-item.menu-item-has-children > .w-nav-anchor'); this.$subLists = this.$list.find('.w-nav-item.menu-item-has-children > .w-nav-list'); this.$anchors = this.$nav.find('.w-nav-anchor'); // Setting options this.options = this.$nav.find('.w-nav-options:first')[0].onclick() || {}; // In case the nav doesn't exist, do nothing if (this.$nav.length == 0) return; this.type = this.$nav.usMod('type'); this.mobileOpened = false; this.animationType = this.$nav.usMod('animation'); var showFn = 'fadeInCSS', hideFn = 'fadeOutCSS'; if (this.animationType == 'height') { showFn = 'slideDownCSS'; hideFn = 'slideUpCSS'; } else if (this.animationType == 'mdesign') { showFn = 'showMD'; hideFn = 'hideMD'; } // Mobile menu toggler this.$control.on('click', function(){ this.mobileOpened = !this.mobileOpened; if (this.mobileOpened) { // Closing opened sublists this.$items.filter('.opened').removeClass('opened'); this.$subLists.resetInlineCSS('display', 'opacity', 'height', 'padding-top', 'padding-bottom', 'margin-top'); this.$list.slideDownCSS(250, this._events.contentChanged); } else { this.$list.slideUpCSS(250, this._events.contentChanged); } }.bind(this)); // Boundable events this._events = { // Mobile submenu togglers toggle: function(e){ if (this.type != 'mobile') return; e.stopPropagation(); e.preventDefault(); var $item = $(e.currentTarget).closest('.w-nav-item'), $sublist = $item.children('.w-nav-list'); if ($item.hasClass('opened')) { $item.removeClass('opened'); $sublist.slideUpCSS(250, this._events.contentChanged); } else { $item.addClass('opened'); $sublist.slideDownCSS(250, this._events.contentChanged); } }.bind(this), resize: this.resize.bind(this), contentChanged: function(){ if (this.type == 'mobile' && $us.header.orientation == 'hor' && $us.canvas.headerPos == 'fixed') { this.setFixedMobileMaxHeight(); } $us.header.$container.trigger('contentChange'); }.bind(this) }; // Toggle on item clicks if (this.options.mobileBehavior) { this.$subAnchors.on('click', this._events.toggle); } // Toggle on arrows else { this.$list.find('.w-nav-item.menu-item-has-children > .w-nav-anchor > .w-nav-arrow').on('click', this._events.toggle); } // Mark all the togglable items this.$subItems.each(function(){ var $this = $(this), $parentItem = $this.parent().closest('.w-nav-item'); if ($parentItem.length == 0 || $parentItem.usMod('columns') === false) $this.addClass('togglable'); }); // Touch device handling in default (notouch) layout if (!$us.$html.hasClass('no-touch')) { this.$list.find('.w-nav-item.menu-item-has-children.togglable > .w-nav-anchor').on('click', function(e){ if (this.type == 'mobile') return; e.preventDefault(); var $this = $(e.currentTarget), $item = $this.parent(), $list = $item.children('.w-nav-list'); // Second tap: going to the URL if ($item.hasClass('opened')) return location.assign($this.attr('href')); $list[showFn](); $item.addClass('opened'); var outsideClickEvent = function(e){ if ($.contains($item[0], e.target)) return; $item.removeClass('opened'); $list[hideFn](); $us.$body.off('touchstart', outsideClickEvent); }; $us.$body.on('touchstart', outsideClickEvent); }.bind(this)); } // Desktop device hovers else { this.$subItems .filter('.togglable') .on('mouseenter', function(e){ if (this.type == 'mobile') return; var $list = $(e.currentTarget).children('.w-nav-list'); $list[showFn](); }.bind(this)) .on('mouseleave', function(e){ if (this.type == 'mobile') return; var $list = $(e.currentTarget).children('.w-nav-list'); $list[hideFn](); }.bind(this)); } // Close menu on anchor clicks this.$anchors.on('click', function(e){ if (this.type != 'mobile' || $us.header.orientation != 'hor') return; // Toggled the item if (this.options.mobileBehavior && $(e.currentTarget).closest('.w-nav-item').hasClass('menu-item-has-children')) return; this.$list.slideUpCSS(); this.mobileOpened = false; }.bind(this)); $us.$window.on('resize', this._events.resize); setTimeout(function(){ this.resize(); $us.header.$container.trigger('contentChange'); }.bind(this), 50); } USNav.prototype = { /** * Count proper dimensions */ setFixedMobileMaxHeight: function(){ var listTop = Math.min(this.$list.position().top, $us.header.scrolledOccupiedHeight); this.$list.css('max-height', $us.canvas.winHeight - listTop + 'px'); }, /** * Resize handler */ resize: function(){ if (this.$nav.length == 0) return; var nextType = (window.innerWidth <= this.options.mobileWidth) ? 'mobile' : 'desktop'; if ($us.header.orientation != this.headerOrientation || nextType != this.type) { // Clearing the previous state this.$subLists.resetInlineCSS('display', 'opacity', 'height', 'padding-top', 'padding-bottom', 'margin-top'); if (this.headerOrientation == 'hor' && this.type == 'mobile') { this.$list.resetInlineCSS('height', 'max-height', 'display', 'opacity', 'padding-top', 'padding-bottom'); } // Closing opened sublists this.$items.removeClass('opened'); // Applying the new state if ($us.header.orientation == 'hor') { if (nextType == 'desktop') { this.$items.filter('.togglable').children('.w-nav-list').css('display', 'none'); } else if (nextType == 'mobile') { this.mobileOpened = false; this.$list.css('height', 0); this.$subLists.css('height', 0); } } this.headerOrientation = $us.header.orientation; this.type = nextType; this.$nav.usMod('type', nextType); } // Max-height limitation for fixed header layouts if ($us.header.orientation == 'hor' && this.type == 'mobile' && $us.canvas.headerPos == 'fixed') this.setFixedMobileMaxHeight(); this.$list.removeClass('hidden'); } }; $us.nav = new USNav(); }(jQuery); /** * $us.scroll * * ScrollSpy, Smooth scroll links and hash-based scrolling all-in-one * * @requires $us.canvas */ !function($){ "use strict"; function USScroll(options){ // Setting options var defaults = { /** * @param {String|jQuery} Selector or object of hash scroll anchors that should be attached on init */ attachOnInit: '.w-nav a[href*="#"], .w-menu a[href*="#"], a.w-btn[href*="#"], .w-iconbox a[href*="#"], .w-image a[href*="#"], .w-img a[href*="#"], .w-text a[href*="#"], ' + '.vc_icon_element a[href*="#"], .vc_custom_heading a[href*="#"], a.w-portfolio-item-anchor[href*="#"], .widget_nav_menu a[href*="#"], .w-toplink, ' + '.w-blog-post-meta-comments a[href*="#"], .w-comments-title a[href*="#"], .w-comments-item-date, a.smooth-scroll[href*="#"]', /** * @param {String} Classname that will be toggled on relevant buttons */ buttonActiveClass: 'active', /** * @param {String} Classname that will be toggled on relevant menu items */ menuItemActiveClass: 'current-menu-item', /** * @param {String} Classname that will be toggled on relevant menu ancestors */ menuItemAncestorActiveClass: 'current-menu-ancestor', /** * @param {Number} Duration of scroll animation */ animationDuration: 1200, /** * @param {String} Easing for scroll animation */ animationEasing: 'easeInOutQuint' }; this.options = $.extend({}, defaults, options || {}); // Hash blocks with targets and activity indicators this.blocks = {}; // Is scrolling to some specific block at the moment? this.isScrolling = false; // Waypoints that will be called at certain scroll position this.waypoints = []; // Boundable events this._events = { cancel: this.cancel.bind(this), scroll: this.scroll.bind(this), resize: this.resize.bind(this) }; this._canvasTopOffset = 0; $us.$window.on('resize load', this._events.resize); setTimeout(this._events.resize, 75); $us.$window.on('scroll', this._events.scroll); setTimeout(this._events.scroll, 75); if (this.options.attachOnInit) { this.attach(this.options.attachOnInit); } // Recount scroll positions on any content changes $us.$canvas.on('contentChange', this._countAllPositions.bind(this)); // Handling initial document hash if (document.location.hash && document.location.hash.indexOf('#!') == -1) { var hash = document.location.hash, scrollPlace = (this.blocks[hash] !== undefined) ? hash : undefined; if (scrollPlace === undefined) { try { var $target = $(hash); if ($target.length != 0) { scrollPlace = $target; } } catch (error) { //Do not have to do anything here since scrollPlace is already undefined } } if (scrollPlace !== undefined) { // While page loads, its content changes, and we'll keep the proper scroll on each sufficient content change // until the page finishes loading or user scrolls the page manually var keepScrollPositionTimer = setInterval(function(){ this.scrollTo(scrollPlace); }.bind(this), 100); var clearHashEvents = function(){ // Content size still may change via other script right after page load setTimeout(function(){ clearInterval(keepScrollPositionTimer); $us.canvas.resize(); this._countAllPositions(); this.scrollTo(scrollPlace); }.bind(this), 100); $us.$window.off('load touchstart mousewheel DOMMouseScroll touchstart', clearHashEvents); }.bind(this); $us.$window.on('load touchstart mousewheel DOMMouseScroll touchstart', clearHashEvents); } } } USScroll.prototype = { /** * Count hash's target position and store it properly * * @param {String} hash * @private */ _countPosition: function(hash){ this.blocks[hash].top = Math.ceil(this.blocks[hash].target.offset().top - $us.header.scrolledOccupiedHeight - this._canvasTopOffset); this.blocks[hash].bottom = this.blocks[hash].top + this.blocks[hash].target.outerHeight(false); }, /** * Count all targets' positions for proper scrolling * * @private */ _countAllPositions: function(){ // Take into account #wpadminbar (and others possible) offset this._canvasTopOffset = $us.$canvas.offset().top; for (var hash in this.blocks) { if (!this.blocks.hasOwnProperty(hash)) continue; this._countPosition(hash); } // Counting waypoints for (var i = 0; i < this.waypoints.length; i++) { this._countWaypoint(this.waypoints[i]); } }, /** * Indicate scroll position by hash * * @param {String} activeHash * @private */ _indicatePosition: function(activeHash){ var activeMenuAncestors = []; for (var hash in this.blocks) { if (!this.blocks.hasOwnProperty(hash)) continue; if (this.blocks[hash].buttons !== undefined) { this.blocks[hash].buttons.toggleClass(this.options.buttonActiveClass, hash === activeHash); } if (this.blocks[hash].menuItems !== undefined) { this.blocks[hash].menuItems.toggleClass(this.options.menuItemActiveClass, hash === activeHash); } if (this.blocks[hash].menuAncestors !== undefined) { this.blocks[hash].menuAncestors.removeClass(this.options.menuItemAncestorActiveClass); } } if (this.blocks[activeHash] !== undefined && this.blocks[activeHash].menuAncestors !== undefined) { this.blocks[activeHash].menuAncestors.addClass(this.options.menuItemAncestorActiveClass); } }, /** * Attach anchors so their targets will be listened for possible scrolls * * @param {String|jQuery} anchors Selector or list of anchors to attach */ attach: function(anchors){ // Location pattern to check absolute URLs for current location var locationPattern = new RegExp('^' + location.pathname.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") + '#'); var $anchors = $(anchors); if ($anchors.length == 0) return; $anchors.each(function(index, anchor){ var $anchor = $(anchor), href = $anchor.attr('href'), hash = $anchor.prop('hash'); // Ignoring ajax links if (hash.indexOf('#!') != -1) return; // Checking if the hash is connected with the current page if (!( // Link type: #something href.charAt(0) == '#' || // Link type: /#something (href.charAt(0) == '/' && locationPattern.test(href)) || // Link type: http://example.com/some/path/#something href.indexOf(location.host + location.pathname + '#') > -1 )) return; // Do we have an actual target, for which we'll need to count geometry? if (hash != '' && hash != '#') { // Attach target if (this.blocks[hash] === undefined) { var $target = $(hash); // Don't attach anchors that actually have no target if ($target.length == 0) return; // If it's the only row in a submain, than use submain instead if ($target.hasClass('g-cols') && $target.parent().children().length == 1) { $target = $target.closest('.l-section'); } this.blocks[hash] = { target: $target }; this._countPosition(hash); } // Attach activity indicator if ($anchor.hasClass('w-nav-anchor')) { var $menuIndicator = $anchor.closest('.w-nav-item'); this.blocks[hash].menuItems = (this.blocks[hash].menuItems || $()).add($menuIndicator); var $menuAncestors = $menuIndicator.parents('.menu-item-has-children'); if ($menuAncestors.length > 0) { this.blocks[hash].menuAncestors = (this.blocks[hash].menuAncestors || $()).add($menuAncestors); } } else { this.blocks[hash].buttons = (this.blocks[hash].buttons || $()).add($anchor); } } $anchor.on('click', function(event){ event.preventDefault(); this.scrollTo(hash, true); }.bind(this)); }.bind(this)); }, /** * Scroll page to a certain position or hash * * @param {Number|String|jQuery} place * @param {Boolean} animate */ scrollTo: function(place, animate){ var placeType, newY; // Scroll to top if (place == '' || place == '#') { newY = 0; placeType = 'top'; } // Scroll by hash else if (this.blocks[place] !== undefined) { newY = this.blocks[place].top; placeType = 'hash'; } else if (place instanceof $) { newY = Math.floor(place.offset().top - $us.header.scrolledOccupiedHeight - this._canvasTopOffset); placeType = 'element'; } else { newY = Math.floor(place - $us.header.scrolledOccupiedHeight - this._canvasTopOffset); } var indicateActive = function(){ if (placeType == 'hash') { this._indicatePosition(place); } else { this.scroll(); } }.bind(this); if (animate) { this.isScrolling = true; $us.$htmlBody.stop(true, false).animate({ scrollTop: newY + 'px' }, { duration: this.options.animationDuration, easing: this.options.animationEasing, always: function(){ $us.$window.off('keydown mousewheel DOMMouseScroll touchstart', this._events.cancel); this.isScrolling = false; indicateActive(); }.bind(this) }); // Allow user to stop scrolling manually $us.$window.on('keydown mousewheel DOMMouseScroll touchstart', this._events.cancel); } else { $us.$htmlBody.stop(true, false).scrollTop(newY); indicateActive(); } }, /** * Cancel scroll */ cancel: function(){ $us.$htmlBody.stop(true, false); }, /** * Add new waypoint * * @param {jQuery} $elm object with the element * @param {mixed} offset Offset from bottom of screen in pixels ('100') or percents ('20%') * @param {Function} fn The function that will be called */ addWaypoint: function($elm, offset, fn){ $elm = ($elm instanceof $) ? $elm : $($elm); if ($elm.length == 0) return; if (typeof offset != 'string' || offset.indexOf('%') == -1) { // Not percent: using pixels offset = parseInt(offset); } var waypoint = { $elm: $elm, offset: offset, fn: fn }; this._countWaypoint(waypoint); this.waypoints.push(waypoint); }, /** * * @param {Object} waypoint * @private */ _countWaypoint: function(waypoint){ var elmTop = waypoint.$elm.offset().top, winHeight = $us.$window.height(); if (typeof waypoint.offset == 'number') { // Offset is defined in pixels waypoint.scrollPos = elmTop - winHeight + waypoint.offset; } else { // Offset is defined in percents waypoint.scrollPos = elmTop - winHeight + winHeight * parseInt(waypoint.offset) / 100; } }, /** * Scroll handler */ scroll: function(){ var scrollTop = parseInt($us.$window.scrollTop()); if (!this.isScrolling) { var activeHash; for (var hash in this.blocks) { if (!this.blocks.hasOwnProperty(hash)) continue; if (scrollTop >= this.blocks[hash].top && scrollTop < this.blocks[hash].bottom) { activeHash = hash; break; } } this._indicatePosition(activeHash); } // Handling waypoints for (var i = 0; i < this.waypoints.length; i++) { if (this.waypoints[i].scrollPos < scrollTop) { this.waypoints[i].fn(this.waypoints[i].$elm); this.waypoints.splice(i, 1); i--; } } }, /** * Resize handler */ resize: function(){ // Delaying the resize event to prevent glitches setTimeout(function(){ this._countAllPositions(); this.scroll(); }.bind(this), 150); this._countAllPositions(); this.scroll(); } }; $(function(){ $us.scroll = new USScroll($us.scrollOptions || {}); }); }(jQuery); jQuery(function($){ "use strict"; // TODO Move all of the below to us.widgets if ($.fn.magnificPopup) { $('.product .images').magnificPopup({ type: 'image', delegate: 'a.with-lightbox', gallery: { enabled: true, navigateByImgClick: true, preload: [0, 1], tPrev: $us.langOptions.magnificPopup.tPrev, // Alt text on left arrow tNext: $us.langOptions.magnificPopup.tNext, // Alt text on right arrow tCounter: $us.langOptions.magnificPopup.tCounter // Markup for "1 of 7" counter }, removalDelay: 300, mainClass: 'mfp-fade', fixedContentPos: false }); $('a[ref=magnificPopup][class!=direct-link]').magnificPopup({ type: 'image', fixedContentPos: false }); } if ($.fn.revolution) { $('.fullwidthbanner').revolution({ delay: 9000, startwidth: 1140, startheight: 500, soloArrowLeftHOffset: 20, soloArrowLeftVOffset: 0, soloArrowRightHOffset: 20, soloArrowRightVOffset: 0, onHoverStop: "on", // Stop Banner Timet at Hover on Slide on/off fullWidth: "on", hideThumbs: false, shadow: 0 //0 = no Shadow, 1,2,3 = 3 Different Art of Shadows - (No Shadow in Fullwidth Version !) }); // Redrawing all the Revolution Sliders if (window.revapi3 !== undefined && window.revapi3.revredraw !== undefined) { $us.$window.on('resize', function(){ window.revapi3.revredraw(); }); } } $('.animate_fade, .animate_afc, .animate_afl, .animate_afr, .animate_aft, .animate_afb, .animate_wfc, ' + '.animate_hfc, .animate_rfc, .animate_rfl, .animate_rfr').each(function(){ $us.scroll.addWaypoint($(this), '15%', function($elm){ if (!$elm.hasClass('animate_start')) { setTimeout(function(){ $elm.addClass('animate_start'); }, 20); } }); }); $('.wpb_animate_when_almost_visible').each(function(){ $us.scroll.addWaypoint($(this), '15%', function($elm){ if (!$elm.hasClass('wpb_start_animation')) { setTimeout(function(){ $elm.addClass('wpb_start_animation'); }, 20); } }); }); var $submainVideos = $('.l-section-video'); var updateVideosSizes = function(){ $submainVideos.each(function(){ var $this = $(this), $video = $this.find('video'), player = $video.data('mediaelementplayer'); // Hiding videos on small (some mobiles) resolutions if ($us.canvas.winWidth <= 1024) { if (player && player.pause && !player.media.paused) { player.pause(); } return $this.hide(); } var mejsContainer = $this.find('.mejs-container'), poster = $this.find('.mejs-mediaelement img'), videoWidth = $video.attr('width'), videoHeight = $video.attr('height'), videoProportion = videoWidth / videoHeight, parent = $this.parent(), parentWidth = parent.outerWidth(), parentHeight = parent.outerHeight(), proportion, centerX, centerY; if (mejsContainer.length == 0) return; // Proper sizing // if (video.length > 0 && video[0].player && video[0].player.media) videoWidth = video[0].player.media.videoWidth; // if (video.length > 0 && video[0].player && video[0].player.media) videoHeight = video[0].player.media.videoHeight; if (player && player.play && player.media.paused) { player.play(); } $this.show(); parent.find('span.mejs-offscreen').hide(); proportion = (parentWidth / parentHeight > videoWidth / videoHeight) ? parentWidth / videoWidth : parentHeight / videoHeight; $this.width(proportion * videoWidth); $this.height(proportion * videoHeight); poster.width(proportion * videoWidth); poster.height(proportion * videoHeight); centerX = (parentWidth < videoWidth * proportion) ? (parentWidth - videoWidth * proportion) / 2 : 0; centerY = (parentHeight < videoHeight * proportion) ? (parentHeight - videoHeight * proportion) / 2 : 0; $this.css({left: centerX, top: centerY}); mejsContainer.css({width: '100%', height: '100%'}); $video.css({'object-fit': 'cover', display: 'inline-block'}); }); }; if (window.MediaElementPlayer) { $('.l-section-video video').mediaelementplayer({ enableKeyboard: false, iPadUseNativeControls: false, pauseOtherPlayers: false, iPhoneUseNativeControls: false, AndroidUseNativeControls: false, videoWidth: '100%', videoHeight: '100%', success: function(mediaElement, domObject){ $(domObject).css('display', 'block'); updateVideosSizes(); } }); setTimeout(updateVideosSizes, 75); $us.$window.on('resize load', updateVideosSizes); } jQuery('input[type="text"], input[type="email"], textarea').each(function(index, input){ var $input = $(input), $row = $input.closest('.w-form-row'); if ($input.attr('type') == 'hidden') return; $row.toggleClass('not-empty', $input.val() != ''); $input.on('input', function(){ $row.toggleClass('not-empty', $input.val() != ''); }); }); jQuery('.l-section-img, .l-titlebar-img').each(function(){ var $this = $(this), img = new Image(); img.onload = function(){ if (!$this.hasClass('loaded')) { $this.addClass('loaded') } }; img.src = ($this.css('background-image') || '').replace(/url\(['"]*(.*?)['"]*\)/g, '$1'); }); /* Ultimate Addons for Visual Composer integration */ jQuery('.upb_bg_img, .upb_color, .upb_grad, .upb_content_iframe, .upb_content_video, .upb_no_bg').each(function(){ var $bg = jQuery(this), $prev = $bg.prev(); if ($prev.length == 0) { var $parent = $bg.parent(), $parentParent = $parent.parent(), $prevParentParent = $parentParent.prev(); if ($prevParentParent.length) { $bg.insertAfter($prevParentParent); if ($parent.children().length == 0) { $parentParent.remove(); } } } }); $('.g-cols > .ult-item-wrap').each(function(index, elm){ var $elm = jQuery(elm); $elm.replaceWith($elm.children()); }); jQuery('.overlay-show').click(function(){ window.setTimeout(function(){ $us.$canvas.trigger('contentChange'); }, 1000); }); }); /** * CSS-analog of jQuery slideDown/slideUp/fadeIn/fadeOut functions (for better rendering) */ !function(){ /** * Remove the passed inline CSS attributes. * * Usage: $elm.resetInlineCSS('height', 'width'); */ jQuery.fn.resetInlineCSS = function(){ for (var index = 0; index < arguments.length; index++) { this.css(arguments[index], ''); } return this; }; jQuery.fn.clearPreviousTransitions = function(){ // Stopping previous events, if there were any var prevTimers = (this.data('animation-timers') || '').split(','); if (prevTimers.length >= 2) { this.resetInlineCSS('transition', '-webkit-transition'); prevTimers.map(clearTimeout); this.removeData('animation-timers'); } return this; }; /** * * @param {Object} css key-value pairs of animated css * @param {Number} duration in milliseconds * @param {Function} onFinish * @param {String} easing CSS easing name * @param {Number} delay in milliseconds */ jQuery.fn.performCSSTransition = function(css, duration, onFinish, easing, delay){ duration = duration || 250; delay = delay || 25; easing = easing || 'ease-in-out'; var $this = this, transition = []; this.clearPreviousTransitions(); for (var attr in css) { if (!css.hasOwnProperty(attr)) continue; transition.push(attr + ' ' + (duration / 1000) + 's ' + easing); } transition = transition.join(', '); $this.css({ transition: transition, '-webkit-transition': transition }); // Starting the transition with a slight delay for the proper application of CSS transition properties var timer1 = setTimeout(function(){ $this.css(css); }, delay); var timer2 = setTimeout(function(){ $this.resetInlineCSS('transition', '-webkit-transition'); if (typeof onFinish == 'function') onFinish(); }, duration + delay); this.data('animation-timers', timer1 + ',' + timer2); }; // Height animations jQuery.fn.slideDownCSS = function(duration, onFinish, easing, delay){ if (this.length == 0) return; var $this = this; this.clearPreviousTransitions(); // Grabbing paddings this.resetInlineCSS('padding-top', 'padding-bottom'); var timer1 = setTimeout(function(){ var paddingTop = parseInt($this.css('padding-top')), paddingBottom = parseInt($this.css('padding-bottom')); // Grabbing the "auto" height in px $this.css({ visibility: 'hidden', position: 'absolute', height: 'auto', 'padding-top': 0, 'padding-bottom': 0, display: 'block' }); var height = $this.height(); $this.css({ overflow: 'hidden', height: '0px', visibility: '', position: '', opacity: 0 }); $this.performCSSTransition({ height: height + paddingTop + paddingBottom, opacity: 1, 'padding-top': paddingTop, 'padding-bottom': paddingBottom }, duration, function(){ $this.resetInlineCSS('overflow').css('height', 'auto'); if (typeof onFinish == 'function') onFinish(); }, easing, delay); }, 25); this.data('animation-timers', timer1 + ',null'); }; jQuery.fn.slideUpCSS = function(duration, onFinish, easing, delay){ if (this.length == 0) return; this.clearPreviousTransitions(); this.css({ height: this.outerHeight(), overflow: 'hidden', 'padding-top': this.css('padding-top'), 'padding-bottom': this.css('padding-bottom'), opacity: 1 }); var $this = this; this.performCSSTransition({ height: 0, 'padding-top': 0, 'padding-bottom': 0, opacity: 0 }, duration, function(){ $this.resetInlineCSS('overflow', 'padding-top', 'padding-bottom', 'opacity').css({ display: 'none' }); if (typeof onFinish == 'function') onFinish(); }, easing, delay); }; // Opacity animations jQuery.fn.fadeInCSS = function(duration, onFinish, easing, delay){ if (this.length == 0) return; this.clearPreviousTransitions(); this.css({ opacity: 0, display: 'block' }); this.performCSSTransition({ opacity: 1 }, duration, onFinish, easing, delay); }; jQuery.fn.fadeOutCSS = function(duration, onFinish, easing, delay){ if (this.length == 0) return; var $this = this; this.performCSSTransition({ opacity: 0 }, duration, function(){ $this.css('display', 'none'); if (typeof onFinish == 'function') onFinish(); }, easing, delay); }; // Material design animations jQuery.fn.showMD = function(duration, onFinish, easing, delay){ if (this.length == 0) return; this.clearPreviousTransitions(); // Grabbing paddings this.resetInlineCSS('padding-top', 'padding-bottom'); var paddingTop = parseInt(this.css('padding-top')), paddingBottom = parseInt(this.css('padding-bottom')); // Grabbing the "auto" height in px this.css({ visibility: 'hidden', position: 'absolute', height: 'auto', 'padding-top': 0, 'padding-bottom': 0, 'margin-top': -20, opacity: '', display: 'block' }); var height = this.height(); this.css({ overflow: 'hidden', height: '0px' }).resetInlineCSS('visibility', 'position'); var $this = this; this.performCSSTransition({ height: height + paddingTop + paddingBottom, 'margin-top': 0, 'padding-top': paddingTop, 'padding-bottom': paddingBottom }, duration || 350, function(){ $this.resetInlineCSS('overflow', 'margin-top', 'padding-top', 'padding-bottom').css('height', 'auto'); if (typeof onFinish == 'function') onFinish(); }, easing || 'cubic-bezier(.23,1,.32,1)', delay || 150); }; jQuery.fn.hideMD = function(duration, onFinish, easing, delay){ if (this.length == 0) return; this.clearPreviousTransitions(); var $this = this; this.resetInlineCSS('margin-top'); this.performCSSTransition({ opacity: 0 }, duration || 100, function(){ $this.css({ display: 'none' }).resetInlineCSS('opacity'); if (typeof onFinish == 'function') onFinish(); }, easing, delay); }; // Slide element left / right var slideIn = function($this, from){ if ($this.length == 0) return; $this.clearPreviousTransitions(); $this.css({width: 'auto', height: 'auto'}); var width = $this.width(), height = $this.height(); $this.css({ width: width, height: height, position: 'relative', left: (from == 'right') ? '100%' : '-100%', opacity: 0, display: 'block' }); $this.performCSSTransition({ left: '0%', opacity: 1 }, arguments[0] || 250, function(){ $this.resetInlineCSS('position', 'left', 'opacity', 'display').css({width: 'auto', height: 'auto'}); }); }, slideOut = function($this, to){ if ($this.length == 0) return; $this.clearPreviousTransitions(); $this.css({ position: 'relative', left: 0, opacity: 1 }); $this.performCSSTransition({ left: (to == 'left') ? '-100%' : '100%', opacity: 0 }, arguments[0] || 250, function(){ $this.css({ display: 'none' }).resetInlineCSS('position', 'left', 'opacity'); }); }; jQuery.fn.slideOutLeft = function(){ slideOut(this, 'left'); }; jQuery.fn.slideOutRight = function(){ slideOut(this, 'right'); }; jQuery.fn.slideInLeft = function(){ slideIn(this, 'left'); }; jQuery.fn.slideInRight = function(){ slideIn(this, 'right'); }; }(); // source --> //www.pixopa.com/wp-content/themes/pixopa-new/framework/js/us.widgets.js?ver=3.1 /** * UpSolution Shortcode: us_message */ (function($){ "use strict"; $.fn.usMessage = function(){ return this.each(function(){ var $this = $(this), $closer = $this.find('.w-message-close'); $closer.click(function(){ $this.wrap('
'); var $wrapper = $this.parent(); $wrapper.css({overflow: 'hidden', height: $this.outerHeight(true)}); $wrapper.performCSSTransition({ height: 0 }, 400, function(){ $wrapper.remove(); $us.$canvas.trigger('contentChange'); }, 'cubic-bezier(.4,0,.2,1)'); }); }); }; $(function(){ $('.w-message').usMessage(); }); })(jQuery); /** * Focus for different kind of forms */ jQuery(function($){ $(document).on('focus', '.w-form-row-field input, .w-form-row-field textarea', function(){ $(this).closest('.w-form-row').addClass('focused'); }); $(document).on('blur', '.w-form-row-field input, .w-form-row-field textarea', function(){ $(this).closest('.w-form-row').removeClass('focused'); }); }); /** * UpSolution Widget: w-dropdown */ (function($){ "use strict"; $.fn.wDropdown = function(){ return this.each(function(){ var $this = $(this), $list = $this.find('.w-dropdown-list'), $current = $this.find('.w-dropdown-current'); var closeList = function(){ $list.slideUpCSS(250, function(){ $this.removeClass('active'); }); $us.$window.off('mouseup touchstart mousewheel DOMMouseScroll touchstart', closeListEvent); }; var closeListEvent = function(e){ if ($this.has(e.target).length !== 0) return; e.stopPropagation(); e.preventDefault(); closeList(); }; $list.hide(); $current.click(function(){ if ($this.hasClass('active')){ closeList(); return; } $this.addClass('active'); $list.slideDownCSS(); $us.$window.on('mouseup touchstart mousewheel DOMMouseScroll touchstart', closeListEvent); }); }); }; $(function(){ $('.w-dropdown').wDropdown(); }); })(jQuery); /** * UpSolution Widget: w-blog */ (function($){ "use strict"; $us.WBlog = function(container, options){ this.init(container, options); }; $us.WBlog.prototype = { init: function(container, options){ // Commonly used dom elements this.$container = $(container); this.$filters = this.$container.find('.g-filters-item'); this.$list = this.$container.find('.w-blog-list'); this.$items = this.$container.find('.w-blog-post'); this.$pagination = this.$container.find('.g-pagination'); this.$loadmore = this.$container.find('.g-loadmore'); this.$preloader = this.$container.find('.w-blog-preloader'); this.curCategory = ''; this.paginationType = this.$pagination.length ? 'regular' : (this.$loadmore.length ? 'ajax' : 'none'); this.items = []; this.loading = false; if (this.paginationType != 'none') { var $jsonContainer = this.$container.find('.w-blog-json'); if ($jsonContainer.length == 0) return; this.ajaxData = $jsonContainer[0].onclick() || {}; this.ajaxUrl = this.ajaxData.ajax_url || ''; this.permalinkUrl = this.ajaxData.permalink_url || ''; this.templateVars = this.ajaxData.template_vars || {}; this.category = this.templateVars.query_args.category_name || ''; this.curCategory = this.category; this.curPage = this.ajaxData.current_page || 1; this.perpage = this.ajaxData.perpage || this.$items.length; this.infiniteScroll = this.ajaxData.infinite_scroll || 0; $jsonContainer.remove(); } if (this.paginationType == 'ajax') { if (this.templateVars.query_args.orderby == 'rand') { this.$items.each(function(index, item){ this.items.push(parseInt(item.getAttribute('data-id'))); }.bind(this)); } this.$loadmore.on('click', function(){ if (this.curPage < this.ajaxData.max_num_pages) { this.setState(this.curPage + 1); } }.bind(this)); if (this.infiniteScroll) { $us.scroll.addWaypoint(this.$loadmore, '-70%', function(){ this.$loadmore.click(); }.bind(this)); } } else if (this.paginationType == 'regular' && this.$filters.length) { this.paginationPcre = new RegExp('/page/([0-9]+)/$'); this.location = location.href.replace(this.paginationPcre, '/'); this.$navLinks = this.$container.find('.nav-links'); var self = this; this.$navLinks.on('click', 'a', function(e){ e.preventDefault(); var arr, pageNum = (arr = self.paginationPcre.exec(this.href)) ? parseInt(arr[1]) : 1; self.setState(pageNum); }); } if (this.$container.hasClass('with_isotope') && $.fn.isotope) { this.$list.imagesLoaded(function(){ this.$list.isotope({ itemSelector: '.w-blog-post', layoutMode: (this.$container.hasClass('isotope_fit_rows')) ? 'fitRows' : 'masonry', isOriginLeft: !$('.l-body').hasClass('rtl') }); this.$list.isotope(); }.bind(this)); $us.$canvas.on('contentChange', function(){ this.$list.imagesLoaded(function(){ this.$list.isotope('layout'); }.bind(this)); }.bind(this)); } this.$filters.each(function(index, filter){ var $filter = $(filter), category = $filter.data('category'); $filter.on('click', function(){ if (category != this.curCategory) { this.setState(1, category); this.$filters.removeClass('active'); $filter.addClass('active'); } }.bind(this)) }.bind(this)); }, setState: function(page, category){ if (this.paginationType == 'none') { // Simple state changer this.$list.isotope({filter: (category == '*') ? '*' : ('.' + category)}); this.curCategory = category; return; } if (this.loading) return; this.loading = true; category = category || this.curCategory; if (category == '*') { category = this.category; } this.templateVars.query_args.paged = page; this.templateVars.query_args.category_name = category; if (this.paginationType == 'ajax') { if (page == 1) { this.items = []; this.templateVars.query_args.post__not_in = this.items; this.$loadmore.addClass('done'); } else { if (this.templateVars.query_args.orderby == 'rand') { this.templateVars.query_args.paged = 1; this.templateVars.query_args.post__not_in = this.items; } this.$loadmore.addClass('loading'); } } if (this.paginationType != 'ajax' || page == 1) { this.$preloader.addClass('active'); if (this.$list.data('isotope')) { this.$list.isotope('remove', this.$container.find('.w-blog-post')); this.$list.isotope('layout'); } else { this.$container.find('.w-blog-post').remove(); } } this.ajaxData.template_vars = JSON.stringify(this.templateVars); // In case we set paged to 1 for rand order - setting it back this.templateVars.query_args.paged = page; $.ajax({ type: 'post', url: this.ajaxData.ajax_url, data: this.ajaxData, success: function(html){ var $result = $(html), $container = $result.find('.w-blog-list'), $items = $container.children(), isotope = this.$list.data('isotope'); $container.imagesLoaded(function(){ this.beforeAppendItems($items); $items.appendTo(this.$list); $container.remove(); var $sliders = $items.find('.w-slider'); this.afterAppendItems($items); if (isotope) { isotope.appended($items); } $sliders.each(function(index, slider){ $(slider).wSlider().find('.royalSlider').data('royalSlider').ev.on('rsAfterInit', function(){ if (isotope) { this.$list.isotope('layout'); } }); }.bind(this)); if (isotope) { this.$list.isotope('layout'); } if (this.paginationType == 'regular') { this.$pagination.remove(); var $pagination = $result.find('.g-pagination'); this.$container.append($pagination); this.$pagination = this.$container.find('.g-pagination'); var self = this; this.$pagination.find('.nav-links a').each(function(){ var $link = $(this), linkURL = $link.attr('href'); linkURL = linkURL.replace(self.ajaxUrl, self.permalinkUrl); $link.attr('href', linkURL); }); this.paginationPcre = new RegExp('/page/([0-9]+)/$'); this.location = location.href.replace(this.paginationPcre, '/'); this.$navLinks = this.$container.find('.nav-links'); this.$navLinks.on('click', 'a', function(e){ e.preventDefault(); var arr, pageNum = (arr = self.paginationPcre.exec(this.href)) ? parseInt(arr[1]) : 1; self.setState(pageNum); }); } if (this.paginationType == 'ajax') { if (page == 1) { var $jsonContainer = $result.find('.w-blog-json'); if ($jsonContainer.length) { var ajaxData = $jsonContainer[0].onclick() || {}; this.ajaxData.max_num_pages = ajaxData.max_num_pages || this.ajaxData.max_num_pages; } else { this.ajaxData.max_num_pages = 1; } } if (this.templateVars.query_args.orderby == 'rand') { $items.each(function(index, item){ this.items.push(parseInt(item.getAttribute('data-id'))); }.bind(this)); } if (this.templateVars.query_args.paged >= this.ajaxData.max_num_pages) { this.$loadmore.addClass('done'); } else { this.$loadmore.removeClass('done'); this.$loadmore.removeClass('loading'); } if (this.infiniteScroll) { $us.scroll.addWaypoint(this.$loadmore, '-70%', function(){ this.$loadmore.click(); }.bind(this)); } } this.$preloader.removeClass('active'); }.bind(this)); this.loading = false; }.bind(this), error: function(){ this.$loadmore.removeClass('loading'); }.bind(this) }); this.curPage = page; this.curCategory = category; }, /** * Overloadable function for themes * @param $items */ beforeAppendItems: function($items){ }, afterAppendItems: function($items){ } }; $.fn.wBlog = function(options){ return this.each(function(){ $(this).data('wBlog', new $us.WBlog(this, options)); }); }; })(jQuery); /** * UpSolution Widget: w-tabs * * @requires $us.canvas */ !function($){ "use strict"; $us.WTabs = function(container, options){ this.init(container, options); }; $us.WTabs.prototype = { init: function(container, options){ // Setting options var defaults = { duration: 300, easing: 'cubic-bezier(.78,.13,.15,.86)' }; this.options = $.extend({}, defaults, options); this.isRtl = $('.l-body').hasClass('rtl'); // Commonly used dom elements this.$container = $(container); this.$tabsList = this.$container.find('.w-tabs-list:first'); this.$tabs = this.$tabsList.find('.w-tabs-item'); this.$tabsH = this.$tabsList.find('.w-tabs-item-h'); this.$sectionsWrapper = this.$container.find('.w-tabs-sections:first'); this.$sectionsHelper = this.$sectionsWrapper.children(); this.$sections = this.$sectionsHelper.find('.w-tabs-section'); this.$headers = this.$sections.children('.w-tabs-section-header'); this.$contents = this.$sections.children('.w-tabs-section-content'); // Class variables this.width = 0; this.tabWidths = []; this.isTogglable = (this.$container.usMod('type') == 'togglable'); // Basic layout this.basicLayout = this.$container.hasClass('accordion') ? 'accordion' : (this.$container.usMod('layout') || 'default'); // Current active layout (may be switched to 'accordion') this.curLayout = this.basicLayout; this.responsive = $us.canvas.options.responsive; // Array of active tabs indexes this.active = []; this.count = this.$tabs.length; // Container width at which we should switch to accordion layout this.minWidth = 0; if (this.count == 0) return; // Preparing arrays of jQuery objects for easier manipulating in future this.tabs = $.map(this.$tabs.toArray(), $); this.sections = $.map(this.$sections.toArray(), $); this.headers = $.map(this.$headers.toArray(), $); this.contents = $.map(this.$contents.toArray(), $); $.each(this.tabs, function(index){ if (this.tabs[index].hasClass('active')) { this.active.push(index); } this.tabs[index].add(this.headers[index]).on('click', function(e){ e.preventDefault(); // Toggling accordion sections if (this.curLayout == 'accordion' && this.isTogglable) { // Cannot toggle the only active item this.toggleSection(index); } // Setting tabs active item else if (index != this.active[0]) { this.openSection(index); } }.bind(this)); }.bind(this)); this.$tabsH.on('click', function(e){ e.preventDefault(); }); // Boundable events this._events = { resize: this.resize.bind(this), contentChanged: function(){ $us.$canvas.trigger('contentChange'); } }; // Starting everything this.switchLayout(this.curLayout); if (this.curLayout != 'accordion' || !this.isTogglable) { this.openSection(this.active[0]); } setTimeout(this._events.resize, 50); $us.$window.on('resize load', this._events.resize); if (window.location.hash) { var hash = window.location.hash.substr(1), $linkedSection = this.$container.find('.w-tabs-section[id="'+hash+'"]'); if ($linkedSection.length && ( ! $linkedSection.hasClass('active'))) { var $header = $linkedSection.find('.w-tabs-section-header'); $header.click(); } } }, switchLayout: function(to){ this.cleanUpLayout(this.curLayout); this.prepareLayout(to); this.curLayout = to; }, /** * Clean up layout's special inline styles and/or dom elements * @param from */ cleanUpLayout: function(from){ if (from == 'default' || from == 'timeline' || from == 'modern' || from == 'trendy') { this.$sectionsWrapper.clearPreviousTransitions().resetInlineCSS('width', 'height'); this.$sectionsHelper.clearPreviousTransitions().resetInlineCSS('position', 'width', 'left'); this.$sections.resetInlineCSS('width'); this.$container.removeClass('autoresize'); } else if (from == 'accordion') { this.$container.removeClass('accordion'); this.$contents.resetInlineCSS('height', 'padding-top', 'padding-bottom', 'display', 'opacity'); } else if (from == 'ver') { this.$contents.resetInlineCSS('height', 'padding-top', 'padding-bottom', 'display', 'opacity'); } }, /** * Apply layout's special inline styles and/or dom elements * @param to */ prepareLayout: function(to){ if (to == 'default' || to == 'timeline' || to == 'modern' || to == 'trendy') { this.$container.addClass('autoresize'); this.$sectionsHelper.css('position', 'absolute'); } else if (to == 'accordion') { this.$container.addClass('accordion'); this.$contents.hide(); for (var i = 0; i < this.active.length; i++) { if (this.contents[this.active[i]] !== undefined) { this.contents[this.active[i]].show(); } } } else if (to == 'ver') { this.$contents.hide(); this.contents[this.active[0]].show(); } }, /** * Measure needed sizes and store them to this.tabWidths variable * * TODO Count minWidth here as well */ measure: function(){ if (this.basicLayout == 'ver') { // Measuring minimum tabs width this.$tabsList.css('width', 0); var minTabWidth = this.$tabsList.outerWidth(true); this.$tabsList.css('width', ''); // Measuring the mininum content width this.$container.addClass('measure'); var minContentWidth = this.$sectionsWrapper.outerWidth(true); this.$container.removeClass('measure'); // Measuring minimum tabs width for percent-based sizes var navWidth = this.$container.usMod('navwidth'); if (navWidth != 'auto') { // Percent-based measure minTabWidth = Math.max(minTabWidth, minContentWidth * parseInt(navWidth) / (100 - parseInt(navWidth))); } this.minWidth = Math.max(480, minContentWidth + minTabWidth + 1); } else { this.tabWidths = []; // We hide active line temporarily to count tab sizes properly this.$container.addClass('measure'); for (var index = 0; index < this.tabs.length; index++) { this.tabWidths.push(this.tabs[index].outerWidth(true)); } this.$container.removeClass('measure'); if (this.basicLayout == 'default' || this.basicLayout == 'timeline' || this.basicLayout == 'modern' || this.basicLayout == 'trendy') { // Array sum this.minWidth = this.tabWidths.reduce(function(pv, cv){ return pv + cv; }, 0); } } }, /** * Open tab section * * @param index int */ openSection: function(index){ if (this.sections[index] === undefined) return; if (this.curLayout == 'default' || this.curLayout == 'timeline' || this.curLayout == 'modern' || this.curLayout == 'trendy') { this.$container.removeClass('autoresize'); var height = this.sections[index].height(); this.$sectionsHelper.performCSSTransition({ left: -this.width * (this.isRtl ? (this.count - index - 1 ) : index) }, this.options.duration, this._events.contentChanged, this.options.easing); this.$sectionsWrapper.performCSSTransition({ height: height }, this.options.duration, function(){ this.$container.addClass('autoresize'); }.bind(this), this.options.easing); } else if (this.curLayout == 'accordion' || this.curLayout == 'ver') { if (this.contents[this.active[0]] !== undefined) { this.contents[this.active[0]].css('display', 'block').slideUp(this.options.duration); } this.contents[index].css('display', 'none').slideDown(this.options.duration, this._events.contentChanged); // Scrolling to the opened section at small window dimensions if (this.curLayout == 'accordion' && $us.canvas.winWidth < 768) { var newTop = this.headers[0].offset().top; for (var i = 0; i < index; i++) { newTop += this.headers[i].outerHeight(); } $us.scroll.scrollTo(newTop, true); } } this._events.contentChanged(); this.$tabs.removeClass('active'); this.tabs[index].addClass('active'); this.$sections.removeClass('active'); this.sections[index].addClass('active'); this.active[0] = index; }, /** * Toggle some togglable accordion section * * @param index */ toggleSection: function(index){ // (!) Can only be used within accordion state var indexPos = $.inArray(index, this.active); if (indexPos != -1) { this.contents[index].css('display', 'block').slideUp(this.options.duration, this._events.contentChanged); this.tabs[index].removeClass('active'); this.sections[index].removeClass('active'); this.active.splice(indexPos, 1); } else { this.contents[index].css('display', 'none').slideDown(this.options.duration, this._events.contentChanged); this.tabs[index].addClass('active'); this.sections[index].addClass('active'); this.active.push(index); } }, /** * Resize-driven logics */ resize: function(){ this.width = this.$container.width(); this.$tabsList.removeClass('hidden'); // Basic layout may be overriden if (this.responsive) { if (this.basicLayout == 'ver' && this.curLayout != 'ver') this.switchLayout('ver'); if (this.curLayout != 'accordion') this.measure(); var nextLayout = (this.width < this.minWidth) ? 'accordion' : this.basicLayout; if (nextLayout !== this.curLayout) this.switchLayout(nextLayout); } // Fixing tabs display if (this.curLayout == 'default' || this.curLayout == 'timeline' || this.curLayout == 'modern' || this.curLayout == 'trendy') { this.$container.addClass('autoresize'); this.$sectionsWrapper.css('width', this.width); this.$sectionsHelper.css('width', this.count * this.width); this.$sections.css('width', this.width); if (this.contents[this.active[0]] !== undefined) { this.$sectionsHelper.css('left', -this.width * (this.isRtl ? (this.count - this.active[0] - 1) : this.active[0])); var height = this.sections[this.active[0]].height(); this.$sectionsWrapper.css('height', height); } } else if (this.curLayout == 'ver') { var sectionsWrapperWidth = this.$sectionsWrapper.width(); } this._events.contentChanged() } }; $.fn.wTabs = function(options){ return this.each(function(){ $(this).data('wTabs', new $us.WTabs(this, options)); }); }; }(jQuery); /** * UpSolution Shortcode: us_logos */ jQuery(function($){ $(".w-logos.type_carousel .w-logos-list").each(function(){ var $list = $(this), items = parseInt($list.data('items')); $list.owlCarousel({ items: items, center: (items == 1), loop: true, rtl: $('.l-body').hasClass('rtl'), nav: $list.data('nav'), autoplay: $list.data('autoplay'), autoplayTimeout: $list.data('timeout'), autoplayHoverPause: true, responsive: { 0: {items: 1, center: true}, 480: {items: Math.min(items, 2)}, 768: {items: Math.min(items, 3)}, 900: {items: Math.min(items, 4)}, 1200: {items: items} } }); }); }); /** * UpSolution Shortcode: us_feedback */ jQuery(function($){ $('.w-form.for_cform').each(function(){ var $container = $(this), $form = $container.find('form:first'), $submitBtn = $form.find('.w-btn'), $resultField = $form.find('.w-form-message'), options = $container.find('.w-form-json')[0].onclick(); $form.submit(function(event){ event.preventDefault(); // Prevent double-sending if ($submitBtn.hasClass('loading')) return; $resultField.usMod('type', false).html(''); // Validation var errors = 0; $form.find('[data-required="true"]').each(function(){ var $input = $(this), isEmpty = ($input.val() == ''), $row = $input.closest('.w-form-row'), errorText = options.errors[$input.attr('name')] || ''; $row.toggleClass('check_wrong', isEmpty); $row.find('.w-form-row-state').html(isEmpty ? errorText : ''); if (isEmpty) { errors++; } }); if (errors != 0) return; $submitBtn.addClass('loading'); $.ajax({ type: 'POST', url: options.ajaxurl, dataType: 'json', data: $form.serialize(), success: function(result){ if (result.success) { $resultField.usMod('type', 'success').html(result.data); $form.find('.w-form-row.check_wrong').removeClass('check_wrong'); $form.find('.w-form-row.not-empty').removeClass('not-empty'); $form.find('.w-form-state').html(''); $form.find('input[type="text"], input[type="email"], textarea').val(''); } else { $form.find('.w-form-row.check_wrong').removeClass('check_wrong'); $form.find('.w-form-state').html(''); if (result.data && typeof result.data == 'object') { for (var fieldName in result.data) { if (fieldName == 'empty_message') { var errorText = result.data[fieldName]; $resultField.usMod('type', 'error').html(errorText); continue; } if (!result.data.hasOwnProperty(fieldName)) continue; var $input = $form.find('[name="' + fieldName + '"]'), errorText = result.data[fieldName]; $input.closest('.w-form-row').addClass('check_wrong') .find('.w-form-row-state').html(errorText); } } else { $resultField.usMod('type', 'error').html(result.data); } } }, complete: function(){ $submitBtn.removeClass('loading'); } }); }); }); }); /** * UpSolution Shortcode: us_counter */ jQuery(function($){ $('.w-counter').each(function(index, elm){ var $container = $(this), $number = $container.find('.w-counter-number'), initial = ($container.data('initial') || '0') + '', target = ($container.data('target') || '10') + '', prefix = $container.data('prefix') || '', suffix = $container.data('suffix') || '', // 0 for integers, 1+ for floats (number of digits after the decimal) precision = 0; if (target.indexOf('.') != -1) { precision = target.length - 1 - target.indexOf('.'); } initial = window[precision ? 'parseFloat' : 'parseInt'](initial, 10); target = window[precision ? 'parseFloat' : 'parseInt'](target, 10); $number.html(prefix + initial.toFixed(precision) + suffix); $us.scroll.addWaypoint(this, '15%', function(){ var current = initial, step = 25, stepValue = (target - initial) / 25, interval = setInterval(function(){ current += stepValue; step--; $number.html(prefix + current.toFixed(precision) + suffix); if (step <= 0) { $number.html(prefix + target.toFixed(precision) + suffix); window.clearInterval(interval); } }, 40); }); }); }); /** * UpSolution Shortcode: us_progbar */ jQuery(function($){ $('.w-progbar').each(function(index, elm){ var $container = $(this), $bar = $container.find('.w-progbar-bar-h'), count = $container.data('count') + '', $titleCount = $container.find('.w-progbar-title-count'), $barCount = $container.find('.w-progbar-bar-count'); if (count === null) { count = 50; } $titleCount.html('0%'); $barCount.html('0%'); $us.scroll.addWaypoint(this, '15%', function(){ var current = 0, step = 40, stepValue = count / 40, interval = setInterval(function(){ current += stepValue; step--; $titleCount.html(current.toFixed(0) + '%'); $barCount.html(current.toFixed(0) + '%'); if (step <= 0) { $titleCount.html(count + '%'); $barCount.html(count + '%'); window.clearInterval(interval); } }, 20); $container.removeClass('initial'); }); }); }); /** * UpSolution Shortcode: us_gallery */ jQuery(function($){ if ($.fn.magnificPopup) { $('.w-gallery.link_media .w-gallery-list').each(function(){ $(this).magnificPopup({ type: 'image', delegate: 'a.w-gallery-item', gallery: { enabled: true, navigateByImgClick: true, preload: [0, 1], tPrev: $us.langOptions.magnificPopup.tPrev, // Alt text on left arrow tNext: $us.langOptions.magnificPopup.tNext, // Alt text on right arrow tCounter: $us.langOptions.magnificPopup.tCounter // Markup for "1 of 7" counter }, removalDelay: 300, mainClass: 'mfp-fade', fixedContentPos: false }); }); } if ($.fn.isotope) { // Applying isotope to gallery $('.w-gallery.layout_masonry .w-gallery-list').each(function(index, container){ var $container = $(container); $container.imagesLoaded(function(){ $container.isotope({ layoutMode: 'masonry', isOriginLeft: !$('body').hasClass('rtl') }); $container.isotope(); }); }); } }); /** * UpSolution Shortcode: us_slider */ (function($){ $.fn.wSlider = function(){ return this.each(function(){ var $this = $(this), $slider = $this.find('.royalSlider'), $options = $this.find('.w-slider-json'), options = $options[0].onclick() || {}; $options.remove(); if (!$.fn.royalSlider) { return; } // Always apply certain fit options for blog listing slider if ($this.parent().hasClass('w-blog-post-preview')) { options['imageScaleMode'] = 'fill'; } $slider.royalSlider(options); var slider = $slider.data('royalSlider'); if (options.fullscreen && options.fullscreen.enabled) { // Moving royal slider to the very end of body element to allow a proper fullscreen var rsEnterFullscreen = function(){ $slider.appendTo($('body')); slider.ev.off('rsEnterFullscreen', rsEnterFullscreen); slider.exitFullscreen(); slider.enterFullscreen(); slider.ev.on('rsEnterFullscreen', rsEnterFullscreen); slider.ev.on('rsExitFullscreen', rsExitFullscreen); }; slider.ev.on('rsEnterFullscreen', rsEnterFullscreen); var rsExitFullscreen = function(){ $slider.prependTo($this); slider.ev.off('rsExitFullscreen', rsExitFullscreen); slider.exitFullscreen(); }; } $us.$canvas.on('contentChange', function(){ $slider.parent().imagesLoaded(function(){ slider.updateSliderSize(); }); }); }); }; $(function(){ jQuery('.w-slider').wSlider(); }); })(jQuery); /** * UpSolution Widget: w-portfolio */ !function($){ "use strict"; $us.WPortfolio = function(container, options){ this.init(container, options); }; $us.WPortfolio.prototype = { init: function(container, options){ // Commonly used dom elements this.$container = $(container); if (this.$container.usMod('position') != 'isotope' || !$.fn.isotope) { // No scripts needed return; } this.$filters = this.$container.find('.g-filters-item'); this.$list = this.$container.find('.w-portfolio-list'); this.$items = this.$container.find('.w-portfolio-item'); this.$pagination = this.$container.find('.g-pagination'); this.$loadmore = this.$container.find('.g-loadmore'); this.paginationType = this.$pagination.length ? 'regular' : (this.$loadmore.length ? 'ajax' : 'none'); this.items = {}; this.curCategory = '*'; this.loading = false; this.$items.each(function(index, item){ this.items[parseInt(item.getAttribute('data-id'))] = $(item); }.bind(this)); this.isotopeOptions = { itemSelector: '.w-portfolio-item', layoutMode: 'masonry', masonry: {}, isOriginLeft: !$('.l-body').hasClass('rtl') }; if (this.$container.find('.w-portfolio-item.size_1x1').length) { this.itemWidth = 1; this.isotopeOptions.masonry.columnWidth = '.size_1x1'; } else if (this.$container.find('.w-portfolio-item.size_1x2').length) { this.itemWidth = 1; this.isotopeOptions.masonry.columnWidth = '.size_1x2'; } else { this.itemWidth = 2; this.isotopeOptions.masonry.columnWidth = '.w-portfolio-item'; } if (this.paginationType != 'none') { var $jsonContainer = this.$container.find('.w-portfolio-json'); if ($jsonContainer.length == 0) return; this.jsonData = $jsonContainer[0].onclick() || {}; this.ajaxUrl = this.jsonData.ajax_url || ''; this.templateVars = JSON.stringify(this.jsonData.template_vars || {}); this.perpage = this.jsonData.perpage || this.$items.length; this.order = this.jsonData.order || {}; this.sizes = this.jsonData.sizes || {}; this.curPage = this.jsonData.page || 1; $jsonContainer.remove(); this.isotopeOptions.sortBy = 'number'; this.isotopeOptions.getSortData = { number: function(elm){ return this.order['*'].indexOf(parseInt(elm.getAttribute('data-id'))); }.bind(this) }; } if (this.paginationType == 'ajax') { this.$loadmore.on('click', function(){ var maxPage = Math.ceil(this.order[this.curCategory].length / this.perpage); if (this.curPage < maxPage) { this.setState(this.curPage + 1); } }.bind(this)); } else if (this.paginationType == 'regular') { this.paginationPcre = new RegExp('/page/([0-9]+)/$'); this.location = location.href.replace(this.paginationPcre, '/'); this.$navLinks = this.$container.find('.nav-links'); var self = this; this.$navLinks.on('click', 'a', function(e){ e.preventDefault(); var arr, pageNum = (arr = self.paginationPcre.exec(this.href)) ? parseInt(arr[1]) : 1; self.setState(pageNum); }); this.renderPagination(this.curPage); } this.$filters.each(function(index, filter){ var $filter = $(filter), category = $filter.data('category'); $filter.on('click', function(){ if (category != this.curCategory) { this.setState((this.paginationType == 'regular') ? 1 : this.curPage, category); this.$filters.removeClass('active'); $filter.addClass('active'); } }.bind(this)) }.bind(this)); // Applying isotope this.loading = true; this.$list.imagesLoaded(function(){ this.$list.isotope(this.isotopeOptions); this.$list.isotope(); this.loading = false; $us.$canvas.on('contentChange', function(){ this.$list.isotope('layout'); }.bind(this)); $(window).on('resize', function(){ this.$list.isotope('layout'); }.bind(this)); }.bind(this)); }, setState: function(page, category){ if (this.paginationType == 'none') { // Simple state changer this.$list.isotope({filter: (category == '*') ? '*' : ('.' + category)}); this.curCategory = category; return; } if (this.loading) return; category = category || this.curCategory; var start = (this.paginationType == 'ajax') ? 0 : ((page - 1) * this.perpage), length = page * this.perpage, showIds = (this.order[category] || []).slice(start, length), loadIds = [], $newItems = []; $.each(showIds, function(i, id){ // Determining which items we need to load via ajax and creating temporary stubs for them if (this.items[id] !== undefined) return; var itemSize = (this.sizes[id] || '1x1'), itemHtml = '
' + '
'; this.items[id] = $(itemHtml).appendTo(this.$list); $newItems.push(this.items[id][0]); loadIds.push(showIds[i]); }.bind(this)); if (loadIds.length > 0) { // Loading new items var $insertedItems = $(); $.ajax({ type: 'post', url: this.ajaxUrl, data: { action: 'us_ajax_portfolio', ids: loadIds.join(','), template_vars: this.templateVars }, success: function(html){ var $container = $('
', {html: html}), $items = $container.children(), isotope = this.$list.data('isotope'); $items.each(function(index, item){ var $item = $(item), itemID = parseInt($item.data('id')); $item.imagesLoaded(function(){ this.items[itemID].attr('class', $item.attr('class')).attr('style', $item.attr('style')); this.itemLoaded(itemID, $item); this.items[itemID].html($item.html()); $insertedItems = $insertedItems.add(this.items[itemID]); if ($insertedItems.length >= loadIds.length) { $container.remove(); this.itemsLoaded($insertedItems); } if (isotope) { if (this.itemWidth != 1) { if (this.$container.find('.w-portfolio-item.size_1x1').length) { this.itemWidth = 1; this.isotopeOptions.masonry.columnWidth = '.size_1x1'; } else if (this.$container.find('.w-portfolio-item.size_1x2').length) { this.itemWidth = 1; this.isotopeOptions.masonry.columnWidth = '.size_1x2'; } else { this.itemWidth = 2; this.isotopeOptions.masonry.columnWidth = '.w-portfolio-item'; } if (this.itemWidth == 1) { this.$list.isotope(this.isotopeOptions); } } this.$list.isotope('layout'); } }.bind(this)); }.bind(this)); }.bind(this) }); } this.$list.isotope({ filter: function(){ return (showIds.indexOf(parseInt(this.getAttribute('data-id'))) != -1); } }); if (loadIds.length > 0) { this.$list.isotope('insert', $newItems); } this.curPage = page; this.curCategory = category; this.renderPagination(); }, renderPagination: function(){ if (this.paginationType == 'ajax') { var maxPage = Math.ceil(this.order[this.curCategory].length / this.perpage); this.$loadmore[(this.curPage < maxPage) ? 'removeClass' : 'addClass']('done'); } else if (this.paginationType == 'regular') { var maxPage = Math.ceil(this.order[this.curCategory].length / this.perpage), html = ''; if (maxPage > 1) { if (this.curPage > 1) { html += ''; } else { html += '<'; } for (var i = 1; i <= maxPage; i++) { if (i != this.curPage) { html += '' + i + ''; } else { html += '' + i + ''; } } if (this.curPage < maxPage) { html += ''; } else { html += '>'; } } this.$navLinks.html(html); } }, pageUrl: function(page){ return (page == 1) ? this.location : (this.location + 'page/' + page + '/'); }, /** * Overloadable function for themes * @param $item */ itemLoaded: function($item){ }, /** * Overloadable function for themes * @param $item */ itemsLoaded: function($items){ } }; $.fn.wPortfolio = function(options){ return this.each(function(){ $(this).data('wPortfolio', new $us.WPortfolio(this, options)); }); }; if ($.fn.magnificPopup) { $('.w-portfolio-list').each(function(){ $(this).magnificPopup({ type: 'image', delegate: 'a[ref=magnificPopupPortfolio]:visible', gallery: { enabled: true, navigateByImgClick: true, preload: [0, 1], tPrev: $us.langOptions.magnificPopup.tPrev, // Alt text on left arrow tNext: $us.langOptions.magnificPopup.tNext, // Alt text on right arrow tCounter: $us.langOptions.magnificPopup.tCounter // Markup for "1 of 7" counter }, removalDelay: 300, mainClass: 'mfp-fade', fixedContentPos: false }); }); } }(jQuery); /** * UpSolution Widget: w-cart * * @requires $us.canvas * @requires $us.nav */ jQuery(function($){ var $cart = $('.w-cart'); if ($cart.length == 0) return; var $quantity = $cart.find('.w-cart-quantity'); var updateCart = function(){ var $quantities = $cart.find('.quantity'), total = 0; $quantities.each(function(){ var quantity, text = $(this).text() + '', matches = text.match(/\d+/g); if (matches) { quantity = parseInt(matches[0], 10); total += quantity; } }); if (total > 0) { $quantity.html(total); $cart.removeClass('empty'); } else { $quantity.html('0'); $cart.addClass('empty'); } }; updateCart(); $(document.body).bind('wc_fragments_loaded', function(){ updateCart(); }); $(document.body).bind('wc_fragments_refreshed', function(){ updateCart(); }); var $notification = $cart.find('.w-cart-notification'), $productName = $notification.find('.product-name'), $cartLink = $cart.find('.w-cart-link'), $dropdown = $cart.find('.w-cart-dropdown'), $quantity = $cart.find('.w-cart-quantity'), productName = $productName.text(), animationType = (window.$us !== undefined && window.$us.nav !== undefined) ? $us.nav.animationType : 'opacity', showFn = 'fadeInCSS', hideFn = 'fadeOutCSS', opened = false; if (animationType == 'height') { showFn = 'slideDownCSS'; hideFn = 'slideUpCSS'; } else if (animationType == 'mdesign') { showFn = 'showMD'; hideFn = 'hideMD'; } $notification.on('click', function(){ $notification[hideFn](); }); jQuery('body').bind('added_to_cart', function(event, fragments, cart_hash, $button){ if (event === undefined) return; $quantity.html(parseInt($quantity.html(), 10) + 1); $cart.removeClass('empty'); productName = $button.closest('.product').find('.product-meta h3:first').text(); $productName.html(productName); $notification[showFn](undefined, function(){ var newTimerId = setTimeout(function(){ $notification[hideFn](); }, 3000); $notification.data('animation-timers', $notification.data('animation-timers') + ',' + newTimerId); }); }); if ($.isMobile) { var outsideClickEvent = function(e){ if (jQuery.contains($cart[0], e.target)) return; $dropdown[hideFn](); $us.$body.off('touchstart', outsideClickEvent); opened = false; }; $cartLink.on('click', function(e){ if (!opened) { e.preventDefault(); $dropdown[showFn](); $us.$body.on('touchstart', outsideClickEvent); } else { $dropdown[hideFn](); $us.$body.off('touchstart', outsideClickEvent); } opened = !opened; }); } else { var hideTimer = null; $cartLink.on('hover', function(){ if (opened) return; $dropdown[showFn](); opened = true; }); $cart.hover(function(){ clearTimeout(hideTimer); }, function(){ clearTimeout(hideTimer); hideTimer = setTimeout(function(){ if (!opened) return; $dropdown[hideFn](); opened = false; }, 250); }); } }); /** * UpSolution Login Widget: widget_us_login * */ !function($){ "use strict"; $us.wUsLogin = function(container, options){ this.$container = $(container); this.$form = this.$container.find('.w-form'); this.$profile = this.$container.find('.w-profile'); var $jsonContainer = this.$container.find('.w-profile-json'); this.jsonData = $jsonContainer[0].onclick() || {}; $jsonContainer.remove(); this.ajaxUrl = this.jsonData.ajax_url || ''; this.logoutRedirect = this.jsonData.logout_redirect || ''; $.ajax({ type: 'post', url: this.ajaxUrl, data: { action: 'us_ajax_user_info', logout_redirect: this.logoutRedirect }, success: function(result){ if (result.success) { var $avatar = this.$profile.find('.w-profile-avatar'), $name = this.$profile.find('.w-profile-name'), $logoutLink = this.$profile.find('.w-profile-link.for_logout') $avatar.html(result.data.avatar); $name.html(result.data.name); $logoutLink.attr('href', result.data.logout_url); this.$profile.removeClass('hidden'); } else { this.$form.removeClass('hidden'); } }.bind(this) }); }; $.fn.wUsLogin = function(options){ return this.each(function(){ $(this).data('wUsLogin', new $us.wUsLogin(this, options)); }); }; $(function(){ $('.widget_us_login').wUsLogin(); }); }(jQuery); /** * UpSolution Widget: w-maps * * Used for [us_gmaps] shortcode */ !function($){ "use strict"; $us.WMapsGeocodesCounter = 0; // counter of total geocode requests number $us.WMapsGeocodesRunning = false; $us.WMapsCurrentGeocode = 0; // current processing geocode $us.WMapsGeocodesMax = 5; // max number of simultaneous geocode requests allowed $us.WMapsGeocodesStack = {}; $us.WMapsRunGeoCode = function(){ if ($us.WMapsCurrentGeocode <= $us.WMapsGeocodesCounter) { $us.WMapsGeocodesRunning = true; if ($us.WMapsGeocodesStack[$us.WMapsCurrentGeocode] != null) $us.WMapsGeocodesStack[$us.WMapsCurrentGeocode](); } else { $us.WMapsGeocodesRunning = false; } }; $us.WMaps = function(container, options){ this.$container = $(container); var $jsonContainer = this.$container.find('.w-map-json'), jsonOptions = $jsonContainer[0].onclick() || {}, $jsonStyleContainer = this.$container.find('.w-map-style-json'), jsonStyleOptions, markerOptions, shouldRunGeoCode = false; $jsonContainer.remove(); if ($jsonStyleContainer.length) { jsonStyleOptions = $jsonStyleContainer[0].onclick() || {}; $jsonStyleContainer.remove(); } // Setting options var defaults = {}; this.options = $.extend({}, defaults, jsonOptions, options); this._events = { redraw: this.redraw.bind(this) }; var gmapsOptions = { el: '#' + this.$container.attr('id'), lat: 0, lng: 0, zoom: this.options.zoom, type: this.options.type, height: this.options.height + 'px', width: '100%', mapTypeId: google.maps.MapTypeId[this.options.maptype] }; if (this.options.hideControls) { gmapsOptions.disableDefaultUI = true; } if (this.options.disableZoom) { gmapsOptions.scrollwheel = false; } if (this.options.disableDragging && ( !$us.$html.hasClass('no-touch'))) { gmapsOptions.draggable = false; } if (this.options.mapBgColor) { gmapsOptions.backgroundColor = this.options.mapBgColor; } this.GMapsObj = new GMaps(gmapsOptions); if (jsonStyleOptions != null && jsonStyleOptions != {}) { this.GMapsObj.map.setOptions({styles: jsonStyleOptions}); } var that = this; if (this.options.latitude != null && this.options.longitude != null) { this.GMapsObj.setCenter(this.options.latitude, this.options.longitude); } else { var mapGeoCode = function(geocodeNum){ GMaps.geocode({ address: that.options.address, callback: function(results, status){ if (status == 'OK') { var latlng = results[0].geometry.location; that.options.latitude = latlng.lat(); that.options.longitude = latlng.lng(); that.GMapsObj.setCenter(that.options.latitude, that.options.longitude); $us.WMapsCurrentGeocode++; $us.WMapsRunGeoCode(); } else if (status == "OVER_QUERY_LIMIT") { setTimeout(function(){ $us.WMapsRunGeoCode() }, 2000); } } }); }; shouldRunGeoCode = true; $us.WMapsGeocodesStack[$us.WMapsGeocodesCounter] = mapGeoCode; $us.WMapsGeocodesCounter++; } $.each(this.options.markers, function(i, val){ markerOptions = {}; if (that.options.icon != null) { markerOptions.icon = { url: that.options.icon.url, size: new google.maps.Size(that.options.icon.size[0], that.options.icon.size[1]), origin: new google.maps.Point(0, 0), anchor: new google.maps.Point(that.options.icon.anchor[0], that.options.icon.anchor[1]) }; } if (that.options.markers[i] != null) { if (that.options.markers[i].latitude != null && that.options.markers[i].longitude != null) { markerOptions.lat = that.options.markers[i].latitude; markerOptions.lng = that.options.markers[i].longitude; markerOptions.infoWindow = {content: that.options.markers[i].html}; var marker = that.GMapsObj.addMarker(markerOptions); if (that.options.markers[i].infowindow) { marker.infoWindow.open(that.GMapsObj.map, marker); } } else { var markerGeoCode = function(geocodeNum){ GMaps.geocode({ address: that.options.markers[i].address, callback: function(results, status){ if (status == 'OK') { var latlng = results[0].geometry.location; markerOptions.lat = latlng.lat(); markerOptions.lng = latlng.lng(); markerOptions.infoWindow = {content: that.options.markers[i].html}; var marker = that.GMapsObj.addMarker(markerOptions); if (that.options.markers[i].infowindow) { marker.infoWindow.open(that.GMapsObj.map, marker); } $us.WMapsCurrentGeocode++; $us.WMapsRunGeoCode(); } else if (status == "OVER_QUERY_LIMIT") { setTimeout(function(){ $us.WMapsRunGeoCode() }, 2000); } } }); }; shouldRunGeoCode = true; $us.WMapsGeocodesStack[$us.WMapsGeocodesCounter] = markerGeoCode; $us.WMapsGeocodesCounter++; } } }); if (shouldRunGeoCode && ( !$us.WMapsGeocodesRunning)) { $us.WMapsRunGeoCode(); } $us.$canvas.on('contentChange', this._events.redraw); // In case some toggler was opened before the actual page load $us.$window.load(this._events.redraw); }; $us.WMaps.prototype = { /** * Fixing hidden and other breaking-cases maps */ redraw: function(){ if (this.$container.is(':hidden')) return; this.GMapsObj.refresh(); if (this.options.latitude != null && this.options.longitude != null) { this.GMapsObj.setCenter(this.options.latitude, this.options.longitude); } } }; $.fn.wMaps = function(options){ return this.each(function(){ $(this).data('wMaps', new $us.WMaps(this, options)); }); }; $(function(){ $('.w-map').wMaps(); }); }(jQuery); /** * UpSolution Widget: w-sharing */ !function($){ "use strict"; $('.w-sharing.type_fixed.align_left, .w-sharing.type_fixed.align_right').each(function(){ var $this = $(this); $this.css('margin-top', -.5 * $this.height()); }); $('.w-sharing.type_fixed.align_center').each(function(){ var $this = $(this); $this.css('margin-left', -.5 * $this.width()); }); $('.w-sharing-item').on('click', function(){ var $this = $(this); var opt = { url: window.location, text: document.title, lang: document.documentElement.lang, image: $('meta[name="og:image"]').attr('content') || '' }; if ($this.attr('data-sharing-url') !== undefined && $this.attr('data-sharing-url') != '') { opt.url = $this.attr('data-sharing-url'); } if ($this.attr('data-sharing-image') !== undefined && $this.attr('data-sharing-image') != '') { opt.image = $this.attr('data-sharing-image'); } if ( opt.image == '' || opt.image === undefined ) { var first_image_src = $('img').first().attr('src'); if (first_image_src != undefined && first_image_src != '') { opt.image = first_image_src; } } if ($this.hasClass('facebook')) { window.open("http://www.facebook.com/sharer/sharer.php?u=" + encodeURIComponent(opt.url) + "&t=" + encodeURIComponent(opt.text) + "", "", "toolbar=0, status=0, width=900, height=500"); } else if ($this.hasClass('twitter')) { window.open("https://twitter.com/intent/tweet?text=" + encodeURIComponent(opt.text) + "&url=" + encodeURIComponent(opt.url), "", "toolbar=0, status=0, width=650, height=360"); } else if ($this.hasClass('linkedin')) { window.open('https://www.linkedin.com/cws/share?url=' + encodeURIComponent(opt.url) + '&token=&isFramed=true', 'linkedin', 'toolbar=no,width=550,height=550'); } else if ($this.hasClass('gplus')) { window.open("https://plus.google.com/share?hl=" + encodeURIComponent(opt.lang) + "&url=" + encodeURIComponent(opt.url), "", "toolbar=0, status=0, width=900, height=500"); } else if ($this.hasClass('pinterest')) { window.open('http://pinterest.com/pin/create/button/?url=' + encodeURIComponent(opt.url) + '&media=' + encodeURIComponent(opt.image) + '&description=' + encodeURIComponent(opt.text), 'pinterest', 'toolbar=no,width=700,height=300'); } else if ($this.hasClass('vk')) { window.open('http://vk.com/share.php?url=' + encodeURIComponent(opt.url) + '&title=' + encodeURIComponent(opt.text), '&description=&image=' + encodeURIComponent(opt.image), 'toolbar=no,width=700,height=300'); } else if ($this.hasClass('email')) { window.location = 'mailto:?subject=' + opt.text + '&body=' + opt.url; } }); }(jQuery); /** * UpSolution Widget: l-preloader */ !function($){ "use strict"; if ($('.l-preloader').length) { $('document').ready(function(){ setTimeout(function(){ $('.l-preloader').addClass('done'); }, 500); setTimeout(function(){ $('.l-preloader').addClass('hidden'); }, 1000); // 500 ms after 'done' class is added }); } }(jQuery); // source --> //www.pixopa.com/wp-content/themes/pixopa-new/js/us.theme.js?ver=3.1 /** * UpSolution Widget: w-search */ !function ($) { "use strict"; $.fn.wSearch = function () { return this.each(function(){ var $container = $(this), $form = $container.find('.w-search-form'), $btnOpen = $container.find('.w-search-open'), $btnClose = $container.find('.w-search-close'), $input = $form.find('[name="s"]'), $overlay = $container.find('.w-search-background'), $window = $(window), searchOverlayInitRadius = 25, showHideTimer = null, isFullScreen = $container.hasClass('layout_fullscreen'), searchHide = function(){ $container.removeClass('active'); $input.blur(); if (isFullScreen) { $form.css({ '-webkit-transition': 'opacity 0.4s', transition: 'opacity 0.4s' }); window.setTimeout(function(){ $overlay .removeClass('overlay-on') .addClass('overlay-out') .css({ '-webkit-transform': 'scale(0.1)', 'transform': 'scale(0.1)' }); $form.css('opacity', 0); clearTimeout(showHideTimer); showHideTimer = window.setTimeout(function(){ $form.css('display', 'none'); $overlay.css('display', 'none'); }, 700); }, 25); } }; // Handling virtual keyboards at touch devices if (jQuery.isMobile){ $input .on('focus', function(){ // Transforming hex to rgba var originalColor = $overlay.css('background-color'), overlayOpacity = $overlay.css('opacity'), matches; // RGB Format if (matches = /^rgb\((\d+), (\d+), (\d+)\)$/.exec(originalColor)){ $form.css('background-color', "rgba("+parseInt(matches[1])+","+parseInt(matches[2])+","+parseInt(matches[3])+", "+overlayOpacity+")"); } // Hex format else if (matches = /^#([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})$/.exec(originalColor)){ $form.css('background-color', "rgba("+parseInt(matches[1], 16)+","+parseInt(matches[2], 16)+","+parseInt(matches[3], 16)+", "+overlayOpacity+")"); } // Fault tolerance else { $form.css('background-color', originalColor); } $overlay.addClass('mobilefocus'); }) .on('blur', function(){ $overlay.removeClass('mobilefocus'); $form.css('background-color', 'transparent'); }); } $btnOpen.click(function(){ $container.addClass('active'); if (isFullScreen) { var searchPos = $btnOpen.offset(), searchWidth = $btnOpen.width(), searchHeight = $btnOpen.height(); // Preserving scroll position searchPos.top -= $window.scrollTop(); searchPos.left -= $window.scrollLeft(); var overlayX = searchPos.left+searchWidth/2, overlayY = searchPos.top+searchHeight/2, winWidth = $us.canvas.winWidth, winHeight = $us.canvas.winHeight, // Counting distance to the nearest screen corner overlayRadius = Math.sqrt(Math.pow(Math.max(winWidth - overlayX, overlayX), 2) + Math.pow(Math.max(winHeight - overlayY, overlayY), 2)), overlayScale = (overlayRadius+15)/searchOverlayInitRadius; $overlay.css({ width: searchOverlayInitRadius*2, height: searchOverlayInitRadius*2, left: overlayX, top: overlayY, "margin-left": -searchOverlayInitRadius, "margin-top": -searchOverlayInitRadius }); $overlay .removeClass('overlay-out') .show(); $form.css({ opacity: 0, display: 'block', '-webkit-transition': 'opacity 0.4s 0.3s', transition: 'opacity 0.4s 0.3s' }); window.setTimeout(function(){ $overlay .addClass('overlay-on') .css({ "-webkit-transform": "scale(" + overlayScale + ")", "transform": "scale(" + overlayScale + ")" }); $form.css('opacity', 1); clearInterval(showHideTimer); showHideTimer = window.setTimeout(function() { $input.focus(); }, 700); }, 25); } else { showHideTimer = window.setTimeout(function() { $input.focus(); }, 700); } }); $input.keyup(function(e) { if (e.keyCode == 27) searchHide(); }); $btnClose.on('click touchstart', searchHide); }); }; $(function(){ jQuery('.l-header .w-search').wSearch(); }); }(jQuery); /** * UpSolution Widget: w-tabs */ !function( $ ){ // Extending some of the methods for material design animations $us.WTabs.prototype._init = $us.WTabs.prototype.init; $us.WTabs.prototype.init = function(container, options){ this.$tabsBar = $(); this.curTabWidth = 0; this.tabHeights = []; this.tabTops = []; this._init(container, options); }; $us.WTabs.prototype._cleanUpLayout = $us.WTabs.prototype.cleanUpLayout; $us.WTabs.prototype.cleanUpLayout = function(from){ this._cleanUpLayout(from); if (from == 'default' || from == 'ver'){ this.$tabsBar.remove(); } }; $us.WTabs.prototype._prepareLayout = $us.WTabs.prototype.prepareLayout; $us.WTabs.prototype.prepareLayout = function(to){ this._prepareLayout(to); if (to == 'default' || to == 'ver'){ this.$tabsBar = $('
').appendTo(this.$tabsList); } }; $us.WTabs.prototype._measure = $us.WTabs.prototype.measure; $us.WTabs.prototype.measure = function(){ this._measure(); if (this.basicLayout == 'default'){ this.minWidth = Math.max.apply(this, this.tabWidths) * this.count; this.curTabWidth = this.tabs[0].outerWidth(true); } else if (this.basicLayout == 'ver'){ this.tabHeights = []; for (var index = 0; index < this.tabs.length; index++){ this.tabHeights.push(this.tabs[index].outerHeight(true)); this.tabTops.push(index ? (this.tabTops[index-1] + this.tabHeights[index-1]) : 0); } } }; // Counts bar position for certain element index and current layout $us.WTabs.prototype.barPosition = function(index){ if (this.curLayout == 'default'){ var barStartOffset = this.curTabWidth * index, barEndOffset = this.curTabWidth * (this.count - index - 1); return { left: this.isRtl ? barEndOffset : barStartOffset, right: this.isRtl ? barStartOffset : barEndOffset }; } else if (this.curLayout == 'ver'){ return { top: this.tabTops[index], height: this.tabHeights[index] }; } else { return {}; } }; $us.WTabs.prototype._openSection = $us.WTabs.prototype.openSection; $us.WTabs.prototype.openSection = function(index){ this._openSection(index); if (this.curLayout == 'default' || this.curLayout == 'ver' || this.curLayout == 'modern' || this.curLayout == 'trendy'){ this.$tabsBar.performCSSTransition(this.barPosition(index), this.options.duration, null, this.options.easing); } }; $us.WTabs.prototype._resize = $us.WTabs.prototype.resize; $us.WTabs.prototype.resize = function(){ this._resize(); if (this.curLayout == 'default' || this.curLayout == 'ver' || this.curLayout == 'modern' || this.curLayout == 'trendy'){ this.$tabsBar.css(this.barPosition(this.active[0]), this.options.duration, null, this.options.easing); } }; jQuery('.w-tabs').wTabs(); }(jQuery); /** * UpSolution Widget: w-blog */ !function( $ ){ // TODO Make proper reveal grid animation for "load more" $us.WBlog.prototype.beforeAppendItems = function($items){ //this.$list.addClass('animate_revealgrid'); //$items.addClass('animate_reveal'); }; $us.WBlog.prototype.afterAppendItems = function($items){ //$items.revealGridMD(); }; $(function(){ $('.w-blog').wBlog(); }); }(jQuery); /** * UpSolution Widget: w-portfolio */ jQuery(function($){ // TODO Make proper reveal grid animation for "load more" $us.WPortfolio.prototype.itemLoaded = function(itemID){ if (this.$container.hasClass('animate_revealgrid')) { this.items[itemID].usMod('animate', false).css('opacity', 0); } }; $us.WPortfolio.prototype.itemsLoaded = function($items){ if (this.$container.hasClass('animate_revealgrid')) { $items.revealGridMD(); } }; $('.w-portfolio').wPortfolio(); }); // Fixing contact form 7 semantics, when requested jQuery('.wpcf7').each(function(){ var $form = jQuery(this); // Removing wrong newlines $form.find('br').remove(); // Fixing quiz layout $form.find('.w-form-row .wpcf7-quiz').each(function(){ var $input = jQuery(this), $row = $input.closest('.w-form-row'), $field = $row.find('.w-form-row-field:first'), $label = $row.find('.wpcf7-quiz-label'); $label.insertBefore($field).attr('class', 'w-form-row-label'); $input.unwrap(); }); // Removing excess wrappers $form.find('.w-form-row-field > .wpcf7-form-control-wrap > .wpcf7-form-control').each(function(){ var $input = jQuery(this); if (($input.attr('type')||'').match(/^(text|email|url|tel|number|date|quiz|captcha)$/) || $input.is('textarea')){ // Moving wrapper classes to .w-form-field, and removing the span wrapper var wrapperClasses = $input.parent().get(0).className; $input.unwrap(); $input.parent().get(0).className += ' '+wrapperClasses; } }); // Transforming submit button $form.find('.w-form-row-field > .wpcf7-submit').each(function(){ var $input = jQuery(this), classes = $input.attr('class').split(' '), value = $input.attr('value') || ''; $input.siblings('p').remove(); if (jQuery.inArray('w-btn', classes) == -1){ classes.push('w-btn'); } var buttonHtml = ''; $input.replaceWith(buttonHtml); }); // Adjusting proper wrapper for select controller $form.find('.wpcf7-form-control-wrap > select').each(function(){ var $select = jQuery(this); if ( ! $select.attr('multiple')) $select.parent().addClass('type_select'); }); jQuery('').appendTo($form.find('.wpcf7-form-control-wrap')); $form.on('mailsent.wpcf7', function(){ $form.find('.w-form-row.not-empty').removeClass('not-empty'); }); }); // Zephyr special Material Design animations jQuery(function($){ "use strict"; /** * Material Design Ripples */ var $body = document.body || document.documentElement, $bodyStyle = $body.style, isTransitionsSupported = $bodyStyle.transition !== undefined || $bodyStyle.WebkitTransition !== undefined; var removeRipple = function($ripple) { $ripple.off(); if (isTransitionsSupported) { $ripple.addClass("ripple-out"); } else { $ripple.animate({ "opacity": 0 }, 100, function() { $ripple.trigger("transitionend"); }); } $ripple.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ $ripple.remove(); }); }; $.fn.mdRipple = function(){ return this.each(function(){ var $element = $(this), $container, containerOffset, startTimer = null; if ( ! $element.find('.ripple-container').length){ $element.append(''); } $container = $element.find(".ripple-container"); // Storing last touch event for touchEnd coordinates var lastTouch = null; if ($.isMobile){ $element.on('touchstart touchmove', function(e){ e = e.originalEvent; if (e.touches.length === 1) { lastTouch = e.touches[0]; } }); } $element.on($.isMobile ? 'touchend' : 'mouseup', function(e){ var offsetLeft, offsetTop, offsetRight, $ripple = $(''), rippleSize = Math.max($element.outerWidth(), $element.outerHeight()) / Math.max(20, $ripple.outerWidth()) * 2.5; containerOffset = $container.offset(); // get pointer position if ( ! $.isMobile){ offsetLeft = e.pageX - containerOffset.left; offsetTop = e.pageY - containerOffset.top; } else if (lastTouch !== null) { offsetLeft = lastTouch.pageX - containerOffset.left; offsetTop = lastTouch.pageY - containerOffset.top; lastTouch = null; } else { return; } if ($('body').hasClass('rtl')) { offsetRight = $container.width() - offsetLeft; $ripple.css({right: offsetRight, top: offsetTop}); }else{ $ripple.css({left: offsetLeft, top: offsetTop}); } (function() { return window.getComputedStyle($ripple[0]).opacity; })(); $container.append($ripple); startTimer = setTimeout(function(){ $ripple.css({ "-webkit-transform": "scale(" + rippleSize + ")", "transform": "scale(" + rippleSize + ")" }); $ripple.addClass('ripple-on'); $ripple.data('animating', 'on'); $ripple.data('mousedown', 'on'); }, 25); setTimeout(function() { $ripple.data('animating', 'off'); removeRipple($ripple); }, 700); }); }); }; // Initialize MD Ripples jQuery('.w-btn, .w-nav-anchor, .w-portfolio-item-anchor, .w-tabs-item, .w-gallery-item, .g-filters-item, a > .w-blog-post-preview, .w-person.layout_card .w-person-image a, .w-iconbox.style_circle a .w-iconbox-icon').mdRipple(); /** * Material Design Reveal Grid: Show grid items with hierarchical timing * @param {Function} onFinish Function to call when the overall grid is revealed */ $.fn.revealGridMD = function(onFinish){ var items = $(this), shown = false, isRTL = $('.l-body').hasClass('rtl'); if (items.length == 0) return; var countSz = function(){ // The vector between the first item and the opposite x/y var mx = isRTL ? 100000 : 0, my = 0; // Retrieving items positions var sz = items.map(function(){ var $this = jQuery(this), pos = $this.position(); pos.width = $this.width(); pos.height = $this.height(); // Center point pos.cx = pos.left + parseInt(pos.width / 2); pos.cy = pos.top + parseInt(pos.height / 2); mx = Math[isRTL?'min':'max'](mx, pos.cx); my = Math.max(my, pos.cy); return pos; }); var wx = mx - sz[0].cx, wy = my - sz[0].cy, wlen = Math.abs(wx * wx + wy * wy); // Counting projection lengths for (var i = 0; i < sz.length; i++) { // Counting vector to this item var vx = sz[i].cx - sz[0].cx, vy = sz[i].cy - sz[0].cy; sz[i].delta = (vx * wx + vy * wy) / wlen; } return sz; }; var sz = countSz(); items.css('opacity', 0).each(function(i, item){ var $item = $(item); $item.performCSSTransition({ opacity: 1 }, 400, function(){ $item.removeClass('animate_reveal'); if (onFinish && typeof onFinish == 'function' && i == items.length - 1) onFinish(); }, null, 750 * sz[i].delta); }); }; $('.animate_revealgrid').each(function(){ $us.scroll.addWaypoint($(this), '15%', function($elm){ var $items = $elm.find('.animate_reveal'); if ($us.$body.hasClass('disable_effects')) return $items.removeClass('animate_reveal'); $items.revealGridMD(function(){ // Compatibility with isotope if ( ! $.fn.isotope) return; var isotope = $items.parent().data('isotope'); if (isotope){ $.each(isotope.items, function(index, item){ item.disableTransition(); }); } }); }); }); }); jQuery(function($){ $('.w-tabs .rev_slider').each(function(){ var $slider = $(this); $slider.bind("revolution.slide.onloaded",function (e) { $us.canvas.$container.on('contentChange', function(){ $slider.revredraw(); }); }); }); }); // source --> https://www.pixopa.com/wp-includes/js/comment-reply.min.js?ver=5.4.1 /*! This file is auto-generated */ window.addComment=function(s){var u,f,v,y=s.document,p={commentReplyClass:"comment-reply-link",cancelReplyId:"cancel-comment-reply-link",commentFormId:"commentform",temporaryFormId:"wp-temp-form-div",parentIdFieldId:"comment_parent",postIdFieldId:"comment_post_ID"},e=s.MutationObserver||s.WebKitMutationObserver||s.MozMutationObserver,i="querySelector"in y&&"addEventListener"in s,n=!!y.documentElement.dataset;function t(){r(),function(){if(!e)return;new e(d).observe(y.body,{childList:!0,subtree:!0})}()}function r(e){if(i&&(u=I(p.cancelReplyId),f=I(p.commentFormId),u)){u.addEventListener("touchstart",a),u.addEventListener("click",a);var t=function(e){if((e.metaKey||e.ctrlKey)&&13===e.keyCode)return f.removeEventListener("keydown",t),e.preventDefault(),f.submit.click(),!1};f&&f.addEventListener("keydown",t);for(var n,r=function(e){var t,n=p.commentReplyClass;e&&e.childNodes||(e=y);t=y.getElementsByClassName?e.getElementsByClassName(n):e.querySelectorAll("."+n);return t}(e),d=0,o=r.length;d https://www.pixopa.com/wp-includes/js/wp-embed.min.js?ver=5.4.1 /*! This file is auto-generated */ !function(d,l){"use strict";var e=!1,o=!1;if(l.querySelector)if(d.addEventListener)e=!0;if(d.wp=d.wp||{},!d.wp.receiveEmbedMessage)if(d.wp.receiveEmbedMessage=function(e){var t=e.data;if(t)if(t.secret||t.message||t.value)if(!/[^a-zA-Z0-9]/.test(t.secret)){var r,a,i,s,n,o=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),c=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]');for(r=0;r //www.pixopa.com/wp-content/themes/pixopa-new/framework/js/jquery.isotope.js?ver=5.4.1 /*! * Isotope PACKAGED v2.2.2 * * Licensed GPLv3 for open source use * or Isotope Commercial License for commercial use * * http://isotope.metafizzy.co * Copyright 2015 Metafizzy */ !function(a){function b(){}function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}return this}return this.each(function(){var d=a.data(this,b);d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d))})}}if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var d=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],c):c("object"==typeof exports?require("jquery"):a.jQuery)}(window),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):"object"==typeof exports?module.exports=f:a.eventie=f}(window),function(){"use strict";function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function c(a){return function(){return this[a].apply(this,arguments)}}var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if(a instanceof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;be;e++)if(b=c[e]+a,"string"==typeof d[b])return b}}var c="Webkit Moz ms Ms O".split(" "),d=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return b}):"object"==typeof exports?module.exports=b:a.getStyleProperty=b}(window),function(a,b){function c(a){var b=parseFloat(a),c=-1===a.indexOf("%")&&!isNaN(b);return c&&b}function d(){}function e(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},b=0,c=h.length;c>b;b++){var d=h[b];a[d]=0}return a}function f(b){function d(){if(!m){m=!0;var d=a.getComputedStyle;if(j=function(){var a=d?function(a){return d(a,null)}:function(a){return a.currentStyle};return function(b){var c=a(b);return c||g("Style returned "+c+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),c}}(),k=b("boxSizing")){var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style[k]="border-box";var f=document.body||document.documentElement;f.appendChild(e);var h=j(e);l=200===c(h.width),f.removeChild(e)}}}function f(a){if(d(),"string"==typeof a&&(a=document.querySelector(a)),a&&"object"==typeof a&&a.nodeType){var b=j(a);if("none"===b.display)return e();var f={};f.width=a.offsetWidth,f.height=a.offsetHeight;for(var g=f.isBorderBox=!(!k||!b[k]||"border-box"!==b[k]),m=0,n=h.length;n>m;m++){var o=h[m],p=b[o];p=i(a,p);var q=parseFloat(p);f[o]=isNaN(q)?0:q}var r=f.paddingLeft+f.paddingRight,s=f.paddingTop+f.paddingBottom,t=f.marginLeft+f.marginRight,u=f.marginTop+f.marginBottom,v=f.borderLeftWidth+f.borderRightWidth,w=f.borderTopWidth+f.borderBottomWidth,x=g&&l,y=c(b.width);y!==!1&&(f.width=y+(x?0:r+v));var z=c(b.height);return z!==!1&&(f.height=z+(x?0:s+w)),f.innerWidth=f.width-(r+v),f.innerHeight=f.height-(s+w),f.outerWidth=f.width+t,f.outerHeight=f.height+u,f}}function i(b,c){if(a.getComputedStyle||-1===c.indexOf("%"))return c;var d=b.style,e=d.left,f=b.runtimeStyle,g=f&&f.left;return g&&(f.left=b.currentStyle.left),d.left=c,c=d.pixelLeft,d.left=e,g&&(f.left=g),c}var j,k,l,m=!1;return f}var g="undefined"==typeof console?d:function(a){console.error(a)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],f):"object"==typeof exports?module.exports=f(require("desandro-get-style-property")):a.getSize=f(a.getStyleProperty)}(window),function(a){function b(a){"function"==typeof a&&(b.isReady?a():g.push(a))}function c(a){var c="readystatechange"===a.type&&"complete"!==f.readyState;b.isReady||c||d()}function d(){b.isReady=!0;for(var a=0,c=g.length;c>a;a++){var d=g[a];d()}}function e(e){return"complete"===f.readyState?d():(e.bind(f,"DOMContentLoaded",c),e.bind(f,"readystatechange",c),e.bind(a,"load",c)),b}var f=a.document,g=[];b.isReady=!1,"function"==typeof define&&define.amd?define("doc-ready/doc-ready",["eventie/eventie"],e):"object"==typeof exports?module.exports=e(require("eventie")):a.docReady=e(a.eventie)}(window),function(a){"use strict";function b(a,b){return a[g](b)}function c(a){if(!a.parentNode){var b=document.createDocumentFragment();b.appendChild(a)}}function d(a,b){c(a);for(var d=a.parentNode.querySelectorAll(b),e=0,f=d.length;f>e;e++)if(d[e]===a)return!0;return!1}function e(a,d){return c(a),b(a,d)}var f,g=function(){if(a.matches)return"matches";if(a.matchesSelector)return"matchesSelector";for(var b=["webkit","moz","ms","o"],c=0,d=b.length;d>c;c++){var e=b[c],f=e+"MatchesSelector";if(a[f])return f}}();if(g){var h=document.createElement("div"),i=b(h,"div");f=i?b:e}else f=d;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return f}):"object"==typeof exports?module.exports=f:window.matchesSelector=f}(Element.prototype),function(a,b){"use strict";"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["doc-ready/doc-ready","matches-selector/matches-selector"],function(c,d){return b(a,c,d)}):"object"==typeof exports?module.exports=b(a,require("doc-ready"),require("desandro-matches-selector")):a.fizzyUIUtils=b(a,a.docReady,a.matchesSelector)}(window,function(a,b,c){var d={};d.extend=function(a,b){for(var c in b)a[c]=b[c];return a},d.modulo=function(a,b){return(a%b+b)%b};var e=Object.prototype.toString;d.isArray=function(a){return"[object Array]"==e.call(a)},d.makeArray=function(a){var b=[];if(d.isArray(a))b=a;else if(a&&"number"==typeof a.length)for(var c=0,e=a.length;e>c;c++)b.push(a[c]);else b.push(a);return b},d.indexOf=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},d.removeFrom=function(a,b){var c=d.indexOf(a,b);-1!=c&&a.splice(c,1)},d.isElement="function"==typeof HTMLElement||"object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1==a.nodeType&&"string"==typeof a.nodeName},d.setText=function(){function a(a,c){b=b||(void 0!==document.documentElement.textContent?"textContent":"innerText"),a[b]=c}var b;return a}(),d.getParent=function(a,b){for(;a!=document.body;)if(a=a.parentNode,c(a,b))return a},d.getQueryElement=function(a){return"string"==typeof a?document.querySelector(a):a},d.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},d.filterFindElements=function(a,b){a=d.makeArray(a);for(var e=[],f=0,g=a.length;g>f;f++){var h=a[f];if(d.isElement(h))if(b){c(h,b)&&e.push(h);for(var i=h.querySelectorAll(b),j=0,k=i.length;k>j;j++)e.push(i[j])}else e.push(h)}return e},d.debounceMethod=function(a,b,c){var d=a.prototype[b],e=b+"Timeout";a.prototype[b]=function(){var a=this[e];a&&clearTimeout(a);var b=arguments,f=this;this[e]=setTimeout(function(){d.apply(f,b),delete f[e]},c||100)}},d.toDashed=function(a){return a.replace(/(.)([A-Z])/g,function(a,b,c){return b+"-"+c}).toLowerCase()};var f=a.console;return d.htmlInit=function(c,e){b(function(){for(var b=d.toDashed(e),g=document.querySelectorAll(".js-"+b),h="data-"+b+"-options",i=0,j=g.length;j>i;i++){var k,l=g[i],m=l.getAttribute(h);try{k=m&&JSON.parse(m)}catch(n){f&&f.error("Error parsing "+h+" on "+l.nodeName.toLowerCase()+(l.id?"#"+l.id:"")+": "+n);continue}var o=new c(l,k),p=a.jQuery;p&&p.data(l,e,o)}})},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property","fizzy-ui-utils/utils"],function(c,d,e,f){return b(a,c,d,e,f)}):"object"==typeof exports?module.exports=b(a,require("wolfy87-eventemitter"),require("get-size"),require("desandro-get-style-property"),require("fizzy-ui-utils")):(a.Outlayer={},a.Outlayer.Item=b(a,a.EventEmitter,a.getSize,a.getStyleProperty,a.fizzyUIUtils))}(window,function(a,b,c,d,e){"use strict";function f(a){for(var b in a)return!1;return b=null,!0}function g(a,b){a&&(this.element=a,this.layout=b,this.position={x:0,y:0},this._create())}function h(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}var i=a.getComputedStyle,j=i?function(a){return i(a,null)}:function(a){return a.currentStyle},k=d("transition"),l=d("transform"),m=k&&l,n=!!d("perspective"),o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[k],p=["transform","transition","transitionDuration","transitionProperty"],q=function(){for(var a={},b=0,c=p.length;c>b;b++){var e=p[b],f=d(e);f&&f!==e&&(a[e]=f)}return a}();e.extend(g.prototype,b.prototype),g.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.getSize=function(){this.size=c(this.element)},g.prototype.css=function(a){var b=this.element.style;for(var c in a){var d=q[c]||c;b[d]=a[c]}},g.prototype.getPosition=function(){var a=j(this.element),b=this.layout.options,c=b.isOriginLeft,d=b.isOriginTop,e=a[c?"left":"right"],f=a[d?"top":"bottom"],g=this.layout.size,h=-1!=e.indexOf("%")?parseFloat(e)/100*g.width:parseInt(e,10),i=-1!=f.indexOf("%")?parseFloat(f)/100*g.height:parseInt(f,10);h=isNaN(h)?0:h,i=isNaN(i)?0:i,h-=c?g.paddingLeft:g.paddingRight,i-=d?g.paddingTop:g.paddingBottom,this.position.x=h,this.position.y=i},g.prototype.layoutPosition=function(){var a=this.layout.size,b=this.layout.options,c={},d=b.isOriginLeft?"paddingLeft":"paddingRight",e=b.isOriginLeft?"left":"right",f=b.isOriginLeft?"right":"left",g=this.position.x+a[d];c[e]=this.getXValue(g),c[f]="";var h=b.isOriginTop?"paddingTop":"paddingBottom",i=b.isOriginTop?"top":"bottom",j=b.isOriginTop?"bottom":"top",k=this.position.y+a[h];c[i]=this.getYValue(k),c[j]="",this.css(c),this.emitEvent("layout",[this])},g.prototype.getXValue=function(a){var b=this.layout.options;return b.percentPosition&&!b.isHorizontal?a/this.layout.size.width*100+"%":a+"px"},g.prototype.getYValue=function(a){var b=this.layout.options;return b.percentPosition&&b.isHorizontal?a/this.layout.size.height*100+"%":a+"px"},g.prototype._transitionTo=function(a,b){this.getPosition();var c=this.position.x,d=this.position.y,e=parseInt(a,10),f=parseInt(b,10),g=e===this.position.x&&f===this.position.y;if(this.setPosition(a,b),g&&!this.isTransitioning)return void this.layoutPosition();var h=a-c,i=b-d,j={};j.transform=this.getTranslate(h,i),this.transition({to:j,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},g.prototype.getTranslate=function(a,b){var c=this.layout.options;return a=c.isOriginLeft?a:-a,b=c.isOriginTop?b:-b,n?"translate3d("+a+"px, "+b+"px, 0)":"translate("+a+"px, "+b+"px)"},g.prototype.goTo=function(a,b){this.setPosition(a,b),this.layoutPosition()},g.prototype.moveTo=m?g.prototype._transitionTo:g.prototype.goTo,g.prototype.setPosition=function(a,b){this.position.x=parseInt(a,10),this.position.y=parseInt(b,10)},g.prototype._nonTransition=function(a){this.css(a.to),a.isCleaning&&this._removeStyles(a.to);for(var b in a.onTransitionEnd)a.onTransitionEnd[b].call(this)},g.prototype._transition=function(a){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(a);var b=this._transn;for(var c in a.onTransitionEnd)b.onEnd[c]=a.onTransitionEnd[c];for(c in a.to)b.ingProperties[c]=!0,a.isCleaning&&(b.clean[c]=!0);if(a.from){this.css(a.from);var d=this.element.offsetHeight;d=null}this.enableTransition(a.to),this.css(a.to),this.isTransitioning=!0};var r="opacity,"+h(q.transform||"transform");g.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:r,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(o,this,!1))},g.prototype.transition=g.prototype[k?"_transition":"_nonTransition"],g.prototype.onwebkitTransitionEnd=function(a){this.ontransitionend(a)},g.prototype.onotransitionend=function(a){this.ontransitionend(a)};var s={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};g.prototype.ontransitionend=function(a){if(a.target===this.element){var b=this._transn,c=s[a.propertyName]||a.propertyName;if(delete b.ingProperties[c],f(b.ingProperties)&&this.disableTransition(),c in b.clean&&(this.element.style[a.propertyName]="",delete b.clean[c]),c in b.onEnd){var d=b.onEnd[c];d.call(this),delete b.onEnd[c]}this.emitEvent("transitionEnd",[this])}},g.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(o,this,!1),this.isTransitioning=!1},g.prototype._removeStyles=function(a){var b={};for(var c in a)b[c]="";this.css(b)};var t={transitionProperty:"",transitionDuration:""};return g.prototype.removeTransitionStyles=function(){this.css(t)},g.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},g.prototype.remove=function(){if(!k||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var a=this;this.once("transitionEnd",function(){a.removeElem()}),this.hide()},g.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("visibleStyle");b[c]=this.onRevealTransitionEnd,this.transition({from:a.hiddenStyle,to:a.visibleStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},g.prototype.getHideRevealTransitionEndProperty=function(a){var b=this.layout.options[a];if(b.opacity)return"opacity";for(var c in b)return c},g.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("hiddenStyle");b[c]=this.onHideTransitionEnd,this.transition({from:a.visibleStyle,to:a.hiddenStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},g.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},g}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","eventEmitter/EventEmitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(c,d,e,f,g){return b(a,c,d,e,f,g)}):"object"==typeof exports?module.exports=b(a,require("eventie"),require("wolfy87-eventemitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):a.Outlayer=b(a,a.eventie,a.EventEmitter,a.getSize,a.fizzyUIUtils,a.Outlayer.Item)}(window,function(a,b,c,d,e,f){"use strict";function g(a,b){var c=e.getQueryElement(a);if(!c)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(c||a)));this.element=c,i&&(this.$element=i(this.element)),this.options=e.extend({},this.constructor.defaults),this.option(b);var d=++k;this.element.outlayerGUID=d,l[d]=this,this._create(),this.options.isInitLayout&&this.layout()}var h=a.console,i=a.jQuery,j=function(){},k=0,l={};return g.namespace="outlayer",g.Item=f,g.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e.extend(g.prototype,c.prototype),g.prototype.option=function(a){e.extend(this.options,a)},g.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e.extend(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},g.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},g.prototype._itemize=function(a){for(var b=this._filterFindItemElements(a),c=this.constructor.Item,d=[],e=0,f=b.length;f>e;e++){var g=b[e],h=new c(g,this);d.push(h)}return d},g.prototype._filterFindItemElements=function(a){return e.filterFindElements(a,this.options.itemSelector)},g.prototype.getItemElements=function(){for(var a=[],b=0,c=this.items.length;c>b;b++)a.push(this.items[b].element);return a},g.prototype.layout=function(){this._resetLayout(),this._manageStamps();var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,a),this._isLayoutInited=!0},g.prototype._init=g.prototype.layout,g.prototype._resetLayout=function(){this.getSize()},g.prototype.getSize=function(){this.size=d(this.element)},g.prototype._getMeasurement=function(a,b){var c,f=this.options[a];f?("string"==typeof f?c=this.element.querySelector(f):e.isElement(f)&&(c=f),this[a]=c?d(c)[b]:f):this[a]=0},g.prototype.layoutItems=function(a,b){a=this._getItemsForLayout(a),this._layoutItems(a,b),this._postLayout()},g.prototype._getItemsForLayout=function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];e.isIgnored||b.push(e)}return b},g.prototype._layoutItems=function(a,b){if(this._emitCompleteOnItems("layout",a),a&&a.length){for(var c=[],d=0,e=a.length;e>d;d++){var f=a[d],g=this._getItemLayoutPosition(f);g.item=f,g.isInstant=b||f.isLayoutInstant,c.push(g)}this._processLayoutQueue(c)}},g.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},g.prototype._processLayoutQueue=function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b];this._positionItem(d.item,d.x,d.y,d.isInstant)}},g.prototype._positionItem=function(a,b,c,d){d?a.goTo(b,c):a.moveTo(b,c)},g.prototype._postLayout=function(){this.resizeContainer()},g.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var a=this._getContainerSize();a&&(this._setContainerMeasure(a.width,!0),this._setContainerMeasure(a.height,!1))}},g.prototype._getContainerSize=j,g.prototype._setContainerMeasure=function(a,b){if(void 0!==a){var c=this.size;c.isBorderBox&&(a+=b?c.paddingLeft+c.paddingRight+c.borderLeftWidth+c.borderRightWidth:c.paddingBottom+c.paddingTop+c.borderTopWidth+c.borderBottomWidth),a=Math.max(a,0),this.element.style[b?"width":"height"]=a+"px"}},g.prototype._emitCompleteOnItems=function(a,b){function c(){e.dispatchEvent(a+"Complete",null,[b])}function d(){g++,g===f&&c()}var e=this,f=b.length;if(!b||!f)return void c();for(var g=0,h=0,i=b.length;i>h;h++){var j=b[h];j.once(a,d)}},g.prototype.dispatchEvent=function(a,b,c){var d=b?[b].concat(c):c;if(this.emitEvent(a,d),i)if(this.$element=this.$element||i(this.element),b){var e=i.Event(b);e.type=a,this.$element.trigger(e,c)}else this.$element.trigger(a,c)},g.prototype.ignore=function(a){var b=this.getItem(a);b&&(b.isIgnored=!0)},g.prototype.unignore=function(a){var b=this.getItem(a);b&&delete b.isIgnored},g.prototype.stamp=function(a){if(a=this._find(a)){this.stamps=this.stamps.concat(a);for(var b=0,c=a.length;c>b;b++){var d=a[b];this.ignore(d)}}},g.prototype.unstamp=function(a){if(a=this._find(a))for(var b=0,c=a.length;c>b;b++){var d=a[b];e.removeFrom(this.stamps,d),this.unignore(d)}},g.prototype._find=function(a){return a?("string"==typeof a&&(a=this.element.querySelectorAll(a)),a=e.makeArray(a)):void 0},g.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var a=0,b=this.stamps.length;b>a;a++){var c=this.stamps[a];this._manageStamp(c)}}},g.prototype._getBoundingRect=function(){var a=this.element.getBoundingClientRect(),b=this.size;this._boundingRect={left:a.left+b.paddingLeft+b.borderLeftWidth,top:a.top+b.paddingTop+b.borderTopWidth,right:a.right-(b.paddingRight+b.borderRightWidth),bottom:a.bottom-(b.paddingBottom+b.borderBottomWidth)}},g.prototype._manageStamp=j,g.prototype._getElementOffset=function(a){var b=a.getBoundingClientRect(),c=this._boundingRect,e=d(a),f={left:b.left-c.left-e.marginLeft,top:b.top-c.top-e.marginTop,right:c.right-b.right-e.marginRight,bottom:c.bottom-b.bottom-e.marginBottom};return f},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.bindResize=function(){this.isResizeBound||(b.bind(a,"resize",this),this.isResizeBound=!0)},g.prototype.unbindResize=function(){this.isResizeBound&&b.unbind(a,"resize",this),this.isResizeBound=!1},g.prototype.onresize=function(){function a(){b.resize(),delete b.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var b=this;this.resizeTimeout=setTimeout(a,100)},g.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},g.prototype.needsResizeLayout=function(){var a=d(this.element),b=this.size&&a;return b&&a.innerWidth!==this.size.innerWidth},g.prototype.addItems=function(a){var b=this._itemize(a);return b.length&&(this.items=this.items.concat(b)),b},g.prototype.appended=function(a){var b=this.addItems(a);b.length&&(this.layoutItems(b,!0),this.reveal(b))},g.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){var c=this.items.slice(0);this.items=b.concat(c),this._resetLayout(),this._manageStamps(),this.layoutItems(b,!0),this.reveal(b),this.layoutItems(c)}},g.prototype.reveal=function(a){this._emitCompleteOnItems("reveal",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.reveal()}},g.prototype.hide=function(a){this._emitCompleteOnItems("hide",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.hide()}},g.prototype.revealItemElements=function(a){var b=this.getItems(a);this.reveal(b)},g.prototype.hideItemElements=function(a){var b=this.getItems(a);this.hide(b)},g.prototype.getItem=function(a){for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];if(d.element===a)return d}},g.prototype.getItems=function(a){a=e.makeArray(a);for(var b=[],c=0,d=a.length;d>c;c++){var f=a[c],g=this.getItem(f);g&&b.push(g)}return b},g.prototype.remove=function(a){var b=this.getItems(a);if(this._emitCompleteOnItems("remove",b),b&&b.length)for(var c=0,d=b.length;d>c;c++){var f=b[c];f.remove(),e.removeFrom(this.items,f)}},g.prototype.destroy=function(){var a=this.element.style;a.height="",a.position="",a.width="";for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];d.destroy()}this.unbindResize();var e=this.element.outlayerGUID;delete l[e],delete this.element.outlayerGUID,i&&i.removeData(this.element,this.constructor.namespace)},g.data=function(a){a=e.getQueryElement(a);var b=a&&a.outlayerGUID;return b&&l[b]},g.create=function(a,b){function c(){g.apply(this,arguments)}return Object.create?c.prototype=Object.create(g.prototype):e.extend(c.prototype,g.prototype),c.prototype.constructor=c,c.defaults=e.extend({},g.defaults),e.extend(c.defaults,b),c.prototype.settings={},c.namespace=a,c.data=g.data,c.Item=function(){f.apply(this,arguments)},c.Item.prototype=new f,e.htmlInit(c,a),i&&i.bridget&&i.bridget(a,c),c},g.Item=f,g}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/item",["outlayer/outlayer"],b):"object"==typeof exports?module.exports=b(require("outlayer")):(a.Isotope=a.Isotope||{},a.Isotope.Item=b(a.Outlayer))}(window,function(a){"use strict";function b(){a.Item.apply(this,arguments)}b.prototype=new a.Item,b.prototype._create=function(){this.id=this.layout.itemGUID++,a.Item.prototype._create.call(this),this.sortData={}},b.prototype.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var a=this.layout.options.getSortData,b=this.layout._sorters;for(var c in a){var d=b[c];this.sortData[c]=d(this.element,this)}}};var c=b.prototype.destroy;return b.prototype.destroy=function(){c.apply(this,arguments),this.css({display:""})},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-mode",["get-size/get-size","outlayer/outlayer"],b):"object"==typeof exports?module.exports=b(require("get-size"),require("outlayer")):(a.Isotope=a.Isotope||{},a.Isotope.LayoutMode=b(a.getSize,a.Outlayer))}(window,function(a,b){"use strict";function c(a){this.isotope=a,a&&(this.options=a.options[this.namespace],this.element=a.element,this.items=a.filteredItems,this.size=a.size)}return function(){function a(a){return function(){return b.prototype[a].apply(this.isotope,arguments)}}for(var d=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout"],e=0,f=d.length;f>e;e++){var g=d[e];c.prototype[g]=a(g)}}(),c.prototype.needsVerticalResizeLayout=function(){var b=a(this.isotope.element),c=this.isotope.size&&b;return c&&b.innerHeight!=this.isotope.size.innerHeight},c.prototype._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},c.prototype.getColumnWidth=function(){this.getSegmentSize("column","Width")},c.prototype.getRowHeight=function(){this.getSegmentSize("row","Height")},c.prototype.getSegmentSize=function(a,b){var c=a+b,d="outer"+b;if(this._getMeasurement(c,d),!this[c]){var e=this.getFirstItemSize();this[c]=e&&e[d]||this.isotope.size["inner"+b]}},c.prototype.getFirstItemSize=function(){var b=this.isotope.filteredItems[0];return b&&b.element&&a(b.element)},c.prototype.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},c.prototype.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},c.modes={},c.create=function(a,b){function d(){c.apply(this,arguments)}return d.prototype=new c,b&&(d.options=b),d.prototype.namespace=a,c.modes[a]=d,d},c}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size","fizzy-ui-utils/utils"],b):"object"==typeof exports?module.exports=b(require("outlayer"),require("get-size"),require("fizzy-ui-utils")):a.Masonry=b(a.Outlayer,a.getSize,a.fizzyUIUtils)}(window,function(a,b,c){var d=a.create("masonry");return d.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var a=this.cols;for(this.colYs=[];a--;)this.colYs.push(0);this.maxY=0},d.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var a=this.items[0],c=a&&a.element;this.columnWidth=c&&b(c).outerWidth||this.containerWidth}var d=this.columnWidth+=this.gutter,e=this.containerWidth+this.gutter,f=e/d,g=d-e%d,h=g&&1>g?"round":"floor";f=Math[h](f),this.cols=Math.max(f,1)},d.prototype.getContainerWidth=function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,c=b(a);this.containerWidth=c&&c.innerWidth},d.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth%this.columnWidth,d=b&&1>b?"round":"ceil",e=Math[d](a.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var f=this._getColGroup(e),g=Math.min.apply(Math,f),h=c.indexOf(f,g),i={x:this.columnWidth*h,y:g},j=g+a.size.outerHeight,k=this.cols+1-f.length,l=0;k>l;l++)this.colYs[h+l]=j;return i},d.prototype._getColGroup=function(a){if(2>a)return this.colYs;for(var b=[],c=this.cols+1-a,d=0;c>d;d++){var e=this.colYs.slice(d,d+a);b[d]=Math.max.apply(Math,e)}return b},d.prototype._manageStamp=function(a){var c=b(a),d=this._getElementOffset(a),e=this.options.isOriginLeft?d.left:d.right,f=e+c.outerWidth,g=Math.floor(e/this.columnWidth);g=Math.max(0,g);var h=Math.floor(f/this.columnWidth);h-=f%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var i=(this.options.isOriginTop?d.top:d.bottom)+c.outerHeight,j=g;h>=j;j++)this.colYs[j]=Math.max(i,this.colYs[j])},d.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var a={height:this.maxY};return this.options.isFitWidth&&(a.width=this._getContainerFitWidth()),a},d.prototype._getContainerFitWidth=function(){for(var a=0,b=this.cols;--b&&0===this.colYs[b];)a++;return(this.cols-a)*this.columnWidth-this.gutter},d.prototype.needsResizeLayout=function(){var a=this.containerWidth;return this.getContainerWidth(),a!==this.containerWidth},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],b):"object"==typeof exports?module.exports=b(require("../layout-mode"),require("masonry-layout")):b(a.Isotope.LayoutMode,a.Masonry)}(window,function(a,b){"use strict";function c(a,b){for(var c in b)a[c]=b[c];return a}var d=a.create("masonry"),e=d.prototype._getElementOffset,f=d.prototype.layout,g=d.prototype._getMeasurement; c(d.prototype,b.prototype),d.prototype._getElementOffset=e,d.prototype.layout=f,d.prototype._getMeasurement=g;var h=d.prototype.measureColumns;d.prototype.measureColumns=function(){this.items=this.isotope.filteredItems,h.call(this)};var i=d.prototype._manageStamp;return d.prototype._manageStamp=function(){this.options.isOriginLeft=this.isotope.options.isOriginLeft,this.options.isOriginTop=this.isotope.options.isOriginTop,i.apply(this,arguments)},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/fit-rows",["../layout-mode"],b):"object"==typeof exports?module.exports=b(require("../layout-mode")):b(a.Isotope.LayoutMode)}(window,function(a){"use strict";var b=a.create("fitRows");return b.prototype._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},b.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth+this.gutter,c=this.isotope.size.innerWidth+this.gutter;0!==this.x&&b+this.x>c&&(this.x=0,this.y=this.maxY);var d={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+a.size.outerHeight),this.x+=b,d},b.prototype._getContainerSize=function(){return{height:this.maxY}},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/vertical",["../layout-mode"],b):"object"==typeof exports?module.exports=b(require("../layout-mode")):b(a.Isotope.LayoutMode)}(window,function(a){"use strict";var b=a.create("vertical",{horizontalAlignment:0});return b.prototype._resetLayout=function(){this.y=0},b.prototype._getItemLayoutPosition=function(a){a.getSize();var b=(this.isotope.size.innerWidth-a.size.outerWidth)*this.options.horizontalAlignment,c=this.y;return this.y+=a.size.outerHeight,{x:b,y:c}},b.prototype._getContainerSize=function(){return{height:this.y}},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","matches-selector/matches-selector","fizzy-ui-utils/utils","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],function(c,d,e,f,g,h){return b(a,c,d,e,f,g,h)}):"object"==typeof exports?module.exports=b(a,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("./item"),require("./layout-mode"),require("./layout-modes/masonry"),require("./layout-modes/fit-rows"),require("./layout-modes/vertical")):a.Isotope=b(a,a.Outlayer,a.getSize,a.matchesSelector,a.fizzyUIUtils,a.Isotope.Item,a.Isotope.LayoutMode)}(window,function(a,b,c,d,e,f,g){function h(a,b){return function(c,d){for(var e=0,f=a.length;f>e;e++){var g=a[e],h=c.sortData[g],i=d.sortData[g];if(h>i||i>h){var j=void 0!==b[g]?b[g]:b,k=j?1:-1;return(h>i?1:-1)*k}}return 0}}var i=a.jQuery,j=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^\s+|\s+$/g,"")},k=document.documentElement,l=k.textContent?function(a){return a.textContent}:function(a){return a.innerText},m=b.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});m.Item=f,m.LayoutMode=g,m.prototype._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),b.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var a in g.modes)this._initLayoutMode(a)},m.prototype.reloadItems=function(){this.itemGUID=0,b.prototype.reloadItems.call(this)},m.prototype._itemize=function(){for(var a=b.prototype._itemize.apply(this,arguments),c=0,d=a.length;d>c;c++){var e=a[c];e.id=this.itemGUID++}return this._updateItemsSortData(a),a},m.prototype._initLayoutMode=function(a){var b=g.modes[a],c=this.options[a]||{};this.options[a]=b.options?e.extend(b.options,c):c,this.modes[a]=new b(this)},m.prototype.layout=function(){return!this._isLayoutInited&&this.options.isInitLayout?void this.arrange():void this._layout()},m.prototype._layout=function(){var a=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,a),this._isLayoutInited=!0},m.prototype.arrange=function(a){function b(){d.reveal(c.needReveal),d.hide(c.needHide)}this.option(a),this._getIsInstant();var c=this._filter(this.items);this.filteredItems=c.matches;var d=this;this._bindArrangeComplete(),this._isInstant?this._noTransition(b):b(),this._sort(),this._layout()},m.prototype._init=m.prototype.arrange,m.prototype._getIsInstant=function(){var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;return this._isInstant=a,a},m.prototype._bindArrangeComplete=function(){function a(){b&&c&&d&&e.dispatchEvent("arrangeComplete",null,[e.filteredItems])}var b,c,d,e=this;this.once("layoutComplete",function(){b=!0,a()}),this.once("hideComplete",function(){c=!0,a()}),this.once("revealComplete",function(){d=!0,a()})},m.prototype._filter=function(a){var b=this.options.filter;b=b||"*";for(var c=[],d=[],e=[],f=this._getFilterTest(b),g=0,h=a.length;h>g;g++){var i=a[g];if(!i.isIgnored){var j=f(i);j&&c.push(i),j&&i.isHidden?d.push(i):j||i.isHidden||e.push(i)}}return{matches:c,needReveal:d,needHide:e}},m.prototype._getFilterTest=function(a){return i&&this.options.isJQueryFiltering?function(b){return i(b.element).is(a)}:"function"==typeof a?function(b){return a(b.element)}:function(b){return d(b.element,a)}},m.prototype.updateSortData=function(a){var b;a?(a=e.makeArray(a),b=this.getItems(a)):b=this.items,this._getSorters(),this._updateItemsSortData(b)},m.prototype._getSorters=function(){var a=this.options.getSortData;for(var b in a){var c=a[b];this._sorters[b]=n(c)}},m.prototype._updateItemsSortData=function(a){for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.updateSortData()}};var n=function(){function a(a){if("string"!=typeof a)return a;var c=j(a).split(" "),d=c[0],e=d.match(/^\[(.+)\]$/),f=e&&e[1],g=b(f,d),h=m.sortDataParsers[c[1]];return a=h?function(a){return a&&h(g(a))}:function(a){return a&&g(a)}}function b(a,b){var c;return c=a?function(b){return b.getAttribute(a)}:function(a){var c=a.querySelector(b);return c&&l(c)}}return a}();m.sortDataParsers={parseInt:function(a){return parseInt(a,10)},parseFloat:function(a){return parseFloat(a)}},m.prototype._sort=function(){var a=this.options.sortBy;if(a){var b=[].concat.apply(a,this.sortHistory),c=h(b,this.options.sortAscending);this.filteredItems.sort(c),a!=this.sortHistory[0]&&this.sortHistory.unshift(a)}},m.prototype._mode=function(){var a=this.options.layoutMode,b=this.modes[a];if(!b)throw new Error("No layout mode: "+a);return b.options=this.options[a],b},m.prototype._resetLayout=function(){b.prototype._resetLayout.call(this),this._mode()._resetLayout()},m.prototype._getItemLayoutPosition=function(a){return this._mode()._getItemLayoutPosition(a)},m.prototype._manageStamp=function(a){this._mode()._manageStamp(a)},m.prototype._getContainerSize=function(){return this._mode()._getContainerSize()},m.prototype.needsResizeLayout=function(){return this._mode().needsResizeLayout()},m.prototype.appended=function(a){var b=this.addItems(a);if(b.length){var c=this._filterRevealAdded(b);this.filteredItems=this.filteredItems.concat(c)}},m.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){this._resetLayout(),this._manageStamps();var c=this._filterRevealAdded(b);this.layoutItems(this.filteredItems),this.filteredItems=c.concat(this.filteredItems),this.items=b.concat(this.items)}},m.prototype._filterRevealAdded=function(a){var b=this._filter(a);return this.hide(b.needHide),this.reveal(b.matches),this.layoutItems(b.matches,!0),b.matches},m.prototype.insert=function(a){var b=this.addItems(a);if(b.length){var c,d,e=b.length;for(c=0;e>c;c++)d=b[c],this.element.appendChild(d.element);var f=this._filter(b).matches;for(c=0;e>c;c++)b[c].isLayoutInstant=!0;for(this.arrange(),c=0;e>c;c++)delete b[c].isLayoutInstant;this.reveal(f)}};var o=m.prototype.remove;return m.prototype.remove=function(a){a=e.makeArray(a);var b=this.getItems(a);o.call(this,a);var c=b&&b.length;if(c)for(var d=0;c>d;d++){var f=b[d];e.removeFrom(this.filteredItems,f)}},m.prototype.shuffle=function(){for(var a=0,b=this.items.length;b>a;a++){var c=this.items[a];c.sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},m.prototype._noTransition=function(a){var b=this.options.transitionDuration;this.options.transitionDuration=0;var c=a.call(this);return this.options.transitionDuration=b,c},m.prototype.getFilteredItemElements=function(){for(var a=[],b=0,c=this.filteredItems.length;c>b;b++)a.push(this.filteredItems[b].element);return a},m});